关闭

多态 OC——第十天

715人阅读 评论(0) 收藏 举报
分类:
1、多态  父类指针指向子类对象
     没有继承就没有多态
     联系前面知识才能清楚什么是多态,所以放到最后面总结小知识点,有前面的知识会对多态更好的了解,会觉得简单很多,但是看此篇博文需要有前面的基础,下面带大家看下:

封装:隐藏内部实现,稳定外部接口.

           封装就是定义类 定义属性 定义方法

属性:封装了setter get方法 
Person.h
@property(nonatomic,retain)NSString *name,*sex;

类封装了实例变量和方法

#import 

@interface Person : NSObject

{

    NSString *_name;

    NSString *_sex;

    int _age;


}
——————————————————————————————————————————————

@property(nonatomic,retain)NSString *name,*sex;

@property(nonatomic,assign)int age;

- (id)initWithName:(NSString *)name sex:(NSString *)sex age:(int)age;

-(Person *)work;

@end

==============================================
Person.m

#import "Person.h"

@implementation Person

@synthesize name = _name,sex = _sex,age = _age;

- (id)initWithName:(NSString *)name sex:(NSString *)sex age:(int)age

{

    self = [super init];

    if (self) {

        self.name = name;

        self.sex = sex;

        self.age = age;

    }

    return self;

}

- (Person *)work

{

    NSLog(@"%@正在工作",self.name);

    return 0;

}

@end

2、继承:子类可以直接复用父类中的成员.子类继承父类所有方法的声明和实现 非私有的实例变量以及协议 继承是要在.h中声明一下 继承具有单根性和传递性
 继承就是代码优化公共部分交给父类
#import "Person.h"
@interface Worker : Person
@end

#import "Person.h"
@interface King : Person
@end

3、多态:不同对象对同一消息的不同响应.子类可以重写父类的方法

多态就是允许方法重名 参数或返回值可以是父类型传入或返回

#import "AppDelegate.h"

#import "Worker.h"

#import "Actor.h"

#import "King.h"

Worker *worker = [[Worker allocinit];

    worker.name @"工人";

    [worker work];//worker 可以换为父类型Person

    King *king = [[King alloc]init];

    king.name @"国王";

    [king work];//king可以换为父类型Person

欢迎学习本文档,未经博主允许,不得私自转载!
0
0
查看评论

多态 OC——第十天

1、多态  父类指针指向子类对象      没有继承就没有多态      联系前面知识才能清楚什么是多态,所以放到最后面总结小知识点,有前面的知识会对多态更好的了解,会觉得简单很多,但是看此篇博文需要有前面的基础,下面带大家看下:...
  • qq_31810357
  • qq_31810357
  • 2015-10-08 09:06
  • 715

OC中的多态性再详解

面向对象的三大特性:封装、继承、多态 假如说·现在有个例子狮子吃动物; 现有狮子类。 #import @class Animal; @interface Lion : NSObject - (void)eatAnimal:(Animal *)animal; //形参是父类的...
  • yang361
  • yang361
  • 2015-08-15 18:05
  • 1009

OC-多态使用介绍

1、什么是多态?       多态就是某一类事物的多种形态。        程序中的多态,不同的对象以自己的方式相应相同名称方法的能力称为多态 2、多态的条件:1)、有继承关系,有方法重写    &#...
  • u013977285
  • u013977285
  • 2015-08-27 23:02
  • 688

第四篇:OC中的多态应用

1.什么是多态: 》多态就是某一类事物的多种形态    如:猫 == 猫 == 动物           男人 == 男人 == 人 == 高级动物 2.多态的前提:没有继承...
  • u010372095
  • u010372095
  • 2015-09-10 23:31
  • 439

OC学习篇之---类的三大特性(封装,继承,多态)

之前的一片文章介绍了OC中类的初始化方法和点语法的使用:http://blog.csdn.net/jiangwei0910410003/article/details/41683873,今天来继续学习OC中的类的三大特性,我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这个也是介绍类...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2014-12-04 22:20
  • 31308

OC 多态理解

java中我们通常通过接口来实现多态度, 一般的写法就是,在一个方法中传入的参数是一个接口,然后通过接口的形式来进行方法的调用。 而出入的参数都是这个接口的实现类,实现类是什么,那么我们接口中,动态的时候,就调用的其中一个实现类的方法。当然,直接出入基类也是可以的。     &...
  • qiuyinthree
  • qiuyinthree
  • 2014-12-29 22:51
  • 980

OC第十天

Person.h#import <Foundation/Foundation.h> @class Animal; @class Dog; @class Cat; @interface Person : NSObject//声明属性//属性的类型是NSString copy和retain都...
  • qq_28356573
  • qq_28356573
  • 2015-06-04 14:17
  • 160

OC语言之封装,继承,多态

# 封装 ##1.面向对象三大特性 - 封装性 - 继承性 - 多态性 --- ##2.什么是封装 - 封装性就是隐藏实现细节,,仅对外公开接口。 ![](http://7xj0kx.com1.z0.glb.clouddn.com/013000002...
  • u012938194
  • u012938194
  • 2016-02-06 15:50
  • 1294

OC中的多态

多态的前提:       必须存在继承关系,在代码中的表现形式就是父类类型保存子类类型,即父类的指针指向子类对象。 多态的使用:      @1.      父类的引用指向子类的对象,发送消息,调用的是子类对...
  • wangjiangang_
  • wangjiangang_
  • 2015-05-25 21:12
  • 354

OC的三大特性之多态

多态  1.没有继承就没有多态  2.代码的体现:父类类型的指针指向子类对象  3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象  4.局限性:  1> 父类类型的变量 不能 直接调用子类特有的方法。必须强转为子...
  • shimenyimeng
  • shimenyimeng
  • 2016-10-25 14:58
  • 111
    个人资料
    • 访问:596316次
    • 积分:7042
    • 等级:
    • 排名:第3887名
    • 原创:240篇
    • 转载:10篇
    • 译文:1篇
    • 评论:214条
    我的微信公众号

    iOS开发者交流群: 官方付费群
    ①群:446310206
    ②群:426087546


    QQ: 点击这里给我发消息


    关注我的技术公众号,每天都有优质技术文章推送。
    微信关注我的公众号
    关注我的微博
    博客专栏
    我的小仓鼠

    有空帮我喂下仓鼠,谢谢!