多肽

作者: AmberAlbee | 来源:发表于2019-03-31 00:55 被阅读0次

/*

多肽:多种形态

1>没有继承就不会有多肽

2>代码体现:父类类型的指针指向子类对象

3>如果函数或者方法中使用的父类类型的参数,那么可以传入父类和子类的对象

4>局限性:

1>>父类类型的变量,不能直接调用子类特有的方法,必须强转成子类的变量类型

*/

main.m

#import <Foundation/Foundation.h>

#import "Animal.h"

#import "Dog.h"

#import "Cat.h"

void eatanimal(Dog *d)

{

[d eat];

}

void eatanimal(Cat *c)

{

[c eat];

}

void eatanimal(Animal *a)

{

[a eat];

}

int main(int argc, const char * argv[])

{

Animal *animal = [Animal new];

Dog *dog = [dog new];

Animal *dog = [Dog new];  //  Dog吃东西

Animal *dog = [Animal new];  //  Animal吃东西

Animal *dog = [Cat new];  //  Cat吃东西

//  NSObject *dog = [Dog new];  //  报错 NSObject没有eat方法

[animal eat];

[dog eat];

Cat *cat = [Cat new];

Animal *cat = [Cat new];

[cat run];

Dog *dog = [dog new];

eatanimal(dog);

Cat *cat = [cat new];

eatanimal(cat);

Animal *animal = [animal new];

eatanimal(animal);

[dog test];

//  [animal test];  报错 animal无test方法

//  Animal *animal = [Animal new];  弱语法,Animal中无test方法,需要换成Dog强转

Animal *animal = [Dog new]; 

Dog *d = (Dog *)animal;

[d test];

return 0;

}


Animal.h

#import <Foundation/Foundation.h>

@interface Animal : NSObject

- (void)eat;

- (void)run;

@end


Animal.m

#import "Animal.h"

@implementation Animal

- (void)eat

{

NSLog(@"Animal——吃东西");

}

- (void)run

{

NSLog(@"Animal——跑起来了");

}

@end


Dog.h

#import "Animal.h"

@interface Dog : Animal

- (void)eat;

- (void)test;

@end


Dog.m

#import "Dog.h"

@implementation Dog

- (void)eat

{

NSLog(@"Dog——吃东西");

}

- (void)test

{

NSLog(@"调用了test方法");

}

@end


Cat.h

#import "Dog.h"

@interface Cat : Dog

@end


Cat.m

#import "Cat.h"

@implementation Cat

- (void)eat

{

NSLog(@"Cat——吃东西");

}

- (void)run

{

NSLog(@"Cat——跑起来了");

}

@end

相关文章

  • 医药用多肽行业分析报告

    2015年多肽行业分析报告: 1、 多肽行业概况 1、 多肽行业的界定与分类 (1)、多肽类药物的分类 活性肽主...

  • 普莱医药PL-5、PL-18创新药

    多肽药

  • 多肽

    /* 多肽:多种形态 1>没有继承就不会有多肽 2>代码体现:父类类型的指针指向子类对象 3>如果函数或者方法中使...

  • 2019-11-04

    婵姿多肽修复冻干粉;美好时光;为您驻颜,肌肤的“时光机”淡化痘印。密集修护婵姿多肽修复冻干粉。多肽修复冻干粉的6大...

  • 无标题文章

    大家知道什么是多肽吗?多肽可提高皮肤组织再生能力,使其能够迅速深入表皮,快速补充养分,直接激活和营养皮肤细胞,能有...

  • 385-小蕾 第二课作业#有号以后#

    产品:卡蓝之谜•燕窝多肽抗糖饮 1.与我相关 a.加入“你”字-----卡蓝之谜•燕窝多肽抗糖饮,让你远离亚健...

  • 2019-02-13

    医采产品 专注女人青春美,医采瓷妆无瑕气垫BB霜(创世魔法美肌自然宛若无妆),医采多肽密集修护蚕丝面膜,(多肽...

  • 05-多肽

    多肽定义 不同的子类的对象,调用相同的父类方法,产生不同的结果。 多肽可以增加代码的灵活度 以继承和重写父类的方法...

  • 夏天如何美白淡斑?还不知道多肽的一定要看!

    上一篇护肤分享中,解释了什么是肽?什么是多肽?还有对于护肤的功效,但是具体的功效是什么呢?今天了解多肽产品的在护肤...

  • 不同人群,蛋白肽的作用有何区别?

    1990年美国科学家罗德曼博士正式提出解释人类疾病、衰老原因的活性多肽理论,首次将活性多肽真正应用于疾病治疗及抗衰...

网友评论

      本文标题:多肽

      本文链接:https://www.haomeiwen.com/subject/yvgebqtx.html