博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进击的Objective-C-------------继承初始化
阅读量:5107 次
发布时间:2019-06-13

本文共 798 字,大约阅读时间需要 2 分钟。

1继承
父类:
父类不可以使用子类自己独有的方法
父类不可以活的子类独有的实例变量
子类
子类可以继承父类的方法
子类可以继承父类的实例变量
特点:
继承具有可传递性
继承具有单向性
2初始化方法
定义: 初始化方法是为实例变量赋值的
特性: 一个对象的初始化方法在它生命周期只出现一次
完整形态:
if (self = [super init]){} 或 self = [super init];if (self){}
3便利构造器
定义: 便利构造器,方法名以类开头,这是一个类方法
实质: 封装了alloc 和 init的方法 最后把对象return出去
注意事项:
类名作为便利构造器的方法名记得是小写字母开头 personWith
如果要使用便利构造器的话,必须有与之相对应的初始化方法
代码:- (instancetype)initWithName:(NSString *)name age:(NSInteger)age{
    if (self = [super init]) {
        _name = name;
        _age = age;
    }
    return self;
}
+ (instancetype)girlfriendWithName:(NSString *)name age:(NSInteger)age{
    GirlFriend *girl = [[GirlFriend alloc]initWithName:name age:age];
    return girl;
}
GirlFriend * girl = [GirlFriend girlfriendWithName:@"弓长車心女未" age:12];
NSLog(@"%@ %ld",girl.name,girl.age);
 

转载于:https://www.cnblogs.com/sharkHZ/p/4984030.html

你可能感兴趣的文章
AC日记——「HNOI2017」单旋 LiBreOJ 2018
查看>>
vue总结
查看>>
真机调试的准备工作介绍
查看>>
(笔记)Linux内核学习(十一)之I/O层和I/O调度机制
查看>>
[lintcode medium] Delete digits
查看>>
3.29下午
查看>>
macOS升级到high Sierra后, Cocoapods不能使用解决办法
查看>>
vmstat详细说明
查看>>
php类点滴---访问修饰符public protected private
查看>>
spring-boot的helloWorld详解
查看>>
Codeforces 919 A. Supermarket
查看>>
NYOJ 21.三个水杯-初始态到目标态的最少次数-经典BFS
查看>>
实验四+164+张增进
查看>>
第09次:升级《陋习手记》滑动和对话框
查看>>
url传参(所传的参数为数字,汉字。获取该参数为汉字乱码)
查看>>
简单了解下CGI、FastCGI和php-fpm的概念和区别和运行原理
查看>>
TIME_WAIT 太多的解决办法[转载]
查看>>
低版本中使用高版本出现的类怎么办?
查看>>
GlusterFS性能测试
查看>>
1.spring cloud eureka server配置
查看>>