OC:多态☀️

作者: LeaderBiao | 来源:发表于2016-06-24 11:37 被阅读40次
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。

1、多态 父类指针指向子类对象

 没有继承就没有多态.

封装:隐藏内部实现,稳定外部接口.
     封装就是定义类 定义属性 定义方法

属性:封装了setter get方法

Person.h
@property(nonatomic,retain)NSString *name,*sex;
类封装了实例变量和方法

@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 alloc] init];
worker.name = @"工人";
[worker work];//worker 可以换为父类型Person
King *king = [[King alloc]init];
king.name = @"国王";
[king work];//king可以换为父类型Person

相关文章

  • OC面向对象—多态

    OC面向对象—多态 OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没...

  • OC多态 - OC

    什么是多态:不同的对象以自己的方式响应相同名称方法的能力称为多态(父类指针指向子类对象) 多态的条件:有继承关系、...

  • OC多态

    面向对象的三大特性: 封装继承与多态;封装是对类中的一些字段, 方法进行保护, 不被外界所访问到, 有一种权限控制...

  • OC多态

    什么是多态:不同的对象以自己的方式响应相同名称方法的能力称为多态(父类指针指向子类对象)多态的条件:有继承关系、有...

  • OC:多态☀️

    版权声明:本文为博主原创文章,未经博主允许不得转载。 1、多态 父类指针指向子类对象 属性:封装了setter ...

  • OC -- 多态

    多态:同一种类型 具有多种的表现形态 多态的条件:必须存在继承关系子类重写父类的方法❗️父类声明的变量指向子类对象...

  • OC多态

    多态往简单来说就是父类的指针指向子类的对象。 //父类 @interfacesuperColor :NSObjec...

  • 多态

    OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态。 在使用多态...

  • OC的简单总结

    一.OC的三大特性 封装、继承、多态 1> 什么是多态 多态:不同对象以自己的方式响应相同的消息的能力叫做多态。 ...

  • Swift 多态实现探究

    多态 父类指针指向子类对象 Swift 中多态的实现类似于 c++ 中的虚表 OC 多态实现利用的是 Runtim...

网友评论

    本文标题:OC:多态☀️

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