文档章节

OC之继承

feng_blog
 feng_blog
发布于 2015/08/31 15:39
字数 300
阅读 10
收藏 1

#import<Foundation/Foundation.h>

/*

 1、继承的好处:

 1抽取重复代码

 2建立了类之间的关系

 3子类可以拥有父类中的所有成员变量和方法

 2、注意点

 1基本上所有类的根类是NSObject

 */

 

 

/********Animal的声明*******/

@interfaceAnimal : NSObject

{

    int _age;

    double _weight;

}

 

-(void)setAge:(int)age;

-(int)age;

 

-(void)setWeight:(double)weight;

-(double)weight;

@end

 

/********Animal的实现*******/

@implementationAnimal

-(void)setAge:(int)age

{

    _age = age;

}

-(int)age

{

    return _age;

}

 

-(void)setWeight:(double)weight

{

    _weight = weight;

}

-(double)weight

{

    return _weight;

}

@end

 

/********Dog*******/

// :Animal 继承了Animal,相当于拥有了Animal里面的所有成员变量和方法

//Animal称为Dog的父类

//Dog称为Animal的子类

@interface Dog : Animal

@end

 

@implementation Dog

@end

 

/********Cat*******/

@interfaceCat : Animal

@end

 

@implementationCat

@end

 

intmain()

{

    Dog *d = [Dog new];

    [d setAge:10];

    NSLog(@"age=%d", [d age]);

    return 0;

}

super的作用

 1.直接调用父类中的某个方法

 2.super处在对象方法中,那么就会调用父类的对象方法

   super处在方法中,那么就会调用父类的类方法

[super walk];//直接调用父类的walk方法

  3.使用场合:子类重写父类的方法时想保留父类的一些行为

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

上一篇: OC之self详解
下一篇: OC之多态
feng_blog

feng_blog

粉丝 120
博文 130
码字总数 105422
作品 3
朝阳
iOS工程师
私信 提问
OC里的继承和重写

1.@private私有成员是不能被继承,也不能被外部函数访问。 @public 公有成员能被继承,也能被外部函数访问。 @protected 保护成员能够被继承,不能够被外部函数访问。 2. 继承后,父类公有的...

飞奔的土豆
2012/12/07
0
0
swift中KVO和属性观察器

开篇提醒:OC中的KVO及其KVO的基础知识可参见:深入runtime探究KVO Swift中,原本没有KVO模式,为何这么说,请看下文: KVO本质上是基于的动态分发机制,通过来监听的值。 OC能够实现监听因为...

CoderDancer
2017/01/13
0
0
从 OC 到 Swift 的快速入门与专业实践

只会介绍与 OC 有明显区别的地方,不会介绍 OC 中没有的,比如元组。当前总结也只是蜻蜓点水而已,但是有 OC 的基础,看这些已经足够。 一、数据 Swift 是类型安全的语言: Swift 必须明确数...

CoderHG
2018/08/04
0
0
self.name&&&&_name一样&&&零碎知识点

不一样的 1.self.name 是一个方法 是setter或者getter方法 2.self.name 实现的时候考虑内存管理 3.kvo可以监听到 name只是一个普通的变量而已 --------------------------------------------...

走向未来
2015/10/24
38
0
swift的数据类型到底是什么尿性 (说点别人没讲明白的)

文初: 如果你对swift的些许了解只局限在 swift中的类型使用struct取代class 多了Optional可选类型 这些最基础的认知,而对其底层设计的原因和原理了解甚少,那这篇文章会给你新的视角,让你...

CoderDancer
2017/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

堆”和“栈

C++作为一款C语言的升级版本,具有非常强大的功能。它不但能够支持各种程序设计风格,而且还具有C语言的所有功能。我们在这里为大家介绍的是其中一个比较重要的内容,C++内存区域的基本介绍。...

SibylY
37分钟前
4
0
总结:Https

一、介绍 简单理解,https即在http协议的基础上,增加了SSL协议,保障数据传输的安全性。 它由以前的http—–>tcp,改为http——>SSL—–>tcp;https采用了共享密钥加密+公开密钥加密的方式 ...

浮躁的码农
40分钟前
6
0
数据库表与表之间的一对一、一对多、多对多关系

表1 foreign key 表2 多对一:表 1 的多条记录对应表 2 的一条记录 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以对应表2的一条记录 表2的多条记...

Garphy
今天
7
0
MySQL 表崩溃修复

MySQL日志报错 2019-10-19 13:41:51 19916 [ERROR] /usr/local/mysql/bin/mysqld: Table './initread_hss/user_info' is marked as crashed and should be repaired2019-10-19 13:41:51 1......

雁南飞丶
今天
6
0
Error和Exception

1.Error类和Exception类都是继承Throwable类 2.Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问...

大瑞清_liurq
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部