OC语言day03-09继承其他特性

pragma mark 继承其他特性

pragma mark 概念

/*
 继承:
 当B类继承A类, 那么B类就拥有A类所有的属性和方法(类方法\对象方法)
 
 优点:
 提高代码的复用性
 可以让类与类之间的产生关系. 正是因为 继承让类与类之间产生了关系 所以才有了多态
 
 注意:
 不要以为继承可以提高代码的复用性, 以后单反发现多个类中 有重复代码就 抽取一个父类
 只要满足 一定的条件 我们才能实现继承
 条件 : xxxx 是 xxxx   / 某某某 is a 某某某
 
 学生:
 姓名:
 年龄:
 数学成绩
 语文成绩
 英语成绩
 
 排行版:
 数据成绩
 语文成绩
 英语成绩
 
 缺点:
 耦合性 太强 (依赖性太强了)
 */

pragma mark 代码

#import <Foundation/Foundation.h>
#pragma mark 类
#import "IPhone.h"
#pragma mark main函数
int main(int argc, const char * argv[])
{

    IPhone *p = [IPhone new];
    [p signalWithNumber:@"987654321"];
    [IPhone brand];
    
    /*
     继承:
     当B类继承A类, 那么B类就拥有A类所有的属性和方法(类方法\对象方法)
     
     优点:
     提高代码的复用性
     可以让类与类之间的产生关系. 正是因为 继承让类与类之间产生了关系 所以才有了多态
     
     注意:
     不要以为继承可以提高代码的复用性, 以后单反发现多个类中 有重复代码就 抽取一个父类
     只要满足 一定的条件 我们才能实现继承
     条件 : xxxx 是 xxxx   / 某某某 is a 某某某
     
     学生:
     姓名:
     年龄:
     数学成绩
     语文成绩
     英语成绩
     
     排行版:
     数据成绩
     语文成绩
     英语成绩
     
     缺点:
     耦合性 太强 (依赖性太强了)
     */
    return 0;
}



IPhone.h //苹果手机 类 (子类)
#import <Foundation/Foundation.h>

#import "Phone.h"


@interface IPhone : Phone
{
    //Deuplicate member 重复定义
    // 注意: 在继承中 方法可以重写, 但是属性(成员变量) 不能重写
    //int _cpu;
}
- (void)setCpu:(int)cpu;

- (int)cpu;

#warning 方法重写(对象方法重写)
// 如果 子类中 有和 父类中 同名的方法, 那么我们称之为方法重写
// 注意: 继承中的方法调用顺序, 如果直接邮 就调用自己的, 如果自己没有 就调用 父类的
// 方法的调用顺序, 先自己再父类, 如果父类中没有 再爷爷类, 如果爷爷类再没有 就找爷爷的爸爸类
// 如果一直到 NSObject 都找不到, 那么就会报错
//reason: '-[IPhone signalWithNumber:]: unrecognized selector sent to instance 0x1005037d0'

- (void)signalWithNumber:(NSString *)number;

#warning 方法重写(类方法重写)
+ (void)brand;


@end
IPhone.m
#import "IPhone.h"

@implementation IPhone



- (void)setCpu:(int)cpu
{
    _cpu = cpu;
}
- (int)cpu
{
    return _cpu;
}

- (void)signalWithNumber:(NSString *)number
{
    NSLog(@"利用 iPhone手机打电话给%@",number);
}

#warning 类方法
// 品牌
+ (void)brand
{
    NSLog(@"iPhone手机");
}

@end

Android.h //安卓手机 类 (子类)
#import <Foundation/Foundation.h>
#import "Phone.h"

// 继承了某个类的类 我们称之为子类
@interface Android : Phone


- (void)setCpu:(int)cpu;

- (int)cpu;

@end
Android.m
#import "Android.h"

@implementation Android


- (void)setCpu:(int)cpu
{
    _cpu = cpu;
}
- (int)cpu
{
    return _cpu;
}
@end

Phone.h //手机 类 (父类)
#import <Foundation/Foundation.h>

// 被继承的这个类 我们称之为父类 / 超类
@interface Phone : NSObject
{
    int _cpu;
}

// 父类打电话
- (void)signalWithNumber:(NSString *)number;

// 父类发短信
- (void)sendMessageWithNumber:(NSString *)number andContent:(NSString *)content;

// 品牌
+ (void)brand;
@end
Phone.m
#import "Phone.h"

@implementation Phone

// 父类打电话
- (void)signalWithNumber:(NSString *)number
{
    NSLog(@"利用手机打电话给%@",number);
}

// 父类发短信
- (void)sendMessageWithNumber:(NSString *)number andContent:(NSString *)content
{
    NSLog(@"利用手机发短信给%@,内容是%@",number,content);
}

// 品牌
+ (void)brand
{
    NSLog(@"品牌");
}
@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • pragma mark 继承基本概念 pragma mark 概念 pragma mark 代码 IPhone.h...
    liyuhong165阅读 429评论 0 0
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,087评论 2 44
  • 姓名:谢新葵 公司:宁波大发化纤有限公司 宁波盛和塾《六项精进》第235期学员感谢二组 【日精进打卡第55天】 知...
    sandy201704阅读 113评论 0 0
  • 细数着时间的年轮仿佛又多了一圈,“春去春回来,花谢花会再开”吟唱出四级的更替,盯着墙上的时钟,它还在焦急地向前走着...
    梅峰阅读 370评论 0 1