oc 封装/继承/多态-一看就明白

镔哥哥就不多说,简单介绍单面:

//

//  Person.h

//  封装继承多态

//

//  Created by apple on 14/12/29.

//  Copyright (c) 2014 huweibin. All rights reserved.

//

/*

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

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

 */


#import <Foundation/Foundation.h>


@interface Person : NSObject

//属性封装了setter get方法

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

@property(nonatomic,assign)int age;

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

-(Person *)work;

@end

  Person.m

//  封装继承多态

//

//  Created by apple on 14/12/29.

//  Copyright (c) 2014 huweibin. All rights reserved.

//


#import "Person.h"


@implementation Person

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

{

    self = [superinit];

    if (self) {

        self.name = name;

        self.sex = sex;

        self.age = age;

    }

    return self;


}


-(Person *)work

{

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

    return 0;

}

@end



//  Worker.h

//  封装继承多态

//

//  Created by apple on 14/12/29.

//  Copyright (c) 2014 huweibin. All rights reserved.

//

/*

 继承:子类可以直接复用父类中的成员.子类继承父类所有方法的声明和实现非私有的实例变量以及协议 继承是要在.h中声明一下继承具有单根性和传递性

 继承就是代码优化公共部分交给父类

 */


#import "Person.h"


@interface Worker : Person


@end


/

//  Worker.m

//  封装继承多态

//

//  Created by apple on 14/12/29.

//  Copyright (c) 2014 huweibin. All rights reserved.

//


#import "Worker.h"


@implementation Worker


@end


//

//  King.h

//  封装继承多态

//

//  Created by apple on 14/12/29.

//  Copyright (c) 2014 huweibin. All rights reserved.

//


#import "Person.h"


@interface King : Person


@end


//

//  King.m

//  封装继承多态

//

//  Created by apple on 14/12/29.

//  Copyright (c) 2014 huweibin. All rights reserved.

//


#import "King.h"


@implementation King


@end


//

//  ViewController.h

//  封装继承多态

//

//  Created by apple on 14/12/29.

//  Copyright (c) 2014 huweibin. All rights reserved.

/*

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

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


 */


#import <UIKit/UIKit.h>

#import "Worker.h"

#import "King.h"


@interface ViewController : UIViewController



@end

//

//  ViewController.m

//  封装继承多态

//

//  Created by apple on 14/12/29.

//  Copyright (c) 2014 huweibin. All rights reserved.

//


#import "ViewController.h"


@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    Worker *worker = [[Workeralloc]init];

    worker.name = @"镔哥哥";

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

    King *king = [[Kingalloc]init];

    king.name = @"汉高祖";

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

    // Do any additional setup after loading the view, typically from a nib.

}


- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值