加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用里氏代换原则来处理动画类的继承问题

发布时间:2020-12-13 22:17:51 所属栏目:百科 来源:网络整理
导读:1.里氏代换原则的基本原理:父类和子类在使用并没有什么区别,父类可以调用子类中的方法,而你看不出他们之间有什么区别。可以相互的替换,这才是核心的地方 2.设计中要确保父类可以直接调用子类的方法 3.将父类设计成虚类(设计的核心) 4.新建一个父类 @int
1.里氏代换原则的基本原理:父类和子类在使用并没有什么区别,父类可以调用子类中的方法,而你看不出他们之间有什么区别。可以相互的替换,这才是核心的地方
2.设计中要确保父类可以直接调用子类的方法
3.将父类设计成虚类(设计的核心)

4.新建一个父类

@interface SourceView : UIView

- (void)show;

- (void)hide;

@end


#import "SourceView.h"

@implementation SourceView

- (void)show {

}


- (void)hide {


4.1 再建 子类

@interface ChildOneView : SourceView

@end


#import "ChildOneView.h"

@implementation ChildOneView

- (void)show {

NSLog(@"ChildOneView");

}


- (void)hide {

// todo

}

@end


#import "SourceView.h"

@interface ChildTwoView : SourceView

@end


#import "ChildTwoView.h"

@implementation ChildTwoView

- (void)show {

NSLog(@"ChildTwoView");

}


- (void)hide {

// todo

}

@end


4.2 调用

#import "ViewController.h"

#import "SourceView.h"

#import "ChildOneView.h"

#import "ChildTwoView.h"


@interface ViewController ()

@end


@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//要调用子类的方法只要改这个地方就可以了,方便

SourceView *tmpView = [[ChildTwoView alloc] init];//或[[ChildTwoViewalloc]init]

[tmpView show];

}




4.总结:可以用父类调用很多子类的方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读