71,类的继承性
来源:互联网 发布:java future get 阻塞 编辑:程序博客网 时间:2024/05/29 04:40
#import <Foundation/Foundation.h>
/*
1,继承:若A类继承B类,那么,A类就拥有B类的所有的属性(成员变量)和方法(类方法和对象方法)。
注:A类称为子类,B类成为父类
A类除了继承B类的所有的属性与方法外,还可以自定义(添加)属性与方法
2,好处:提高了代码的复用性;实现了多态
3,如果子类中有父类同名的方法,称为方法重写
注意:
(1)方法重写包括类方法重写与对象方法重写
(3)成员变量不能重写
(2)继承中的方法调用顺序,如果自己有就调用自己的,没有的话,就往上父类找,直到找到基类为止,若基类仍然找不到对应的方法,那么,程序就会报错。
*/
@interface Phone : NSObject
{
int _cpu;
}
-(void)signalWithNumber:(NSString *)number;
+(void)brand;
@end
@implementation Phone
-(void)signalWithNumber:(NSString *)number{
NSLog(@"Phone打电话给 %@",number);
}
+(void)brand{
NSLog(@"Phone品牌");
}
@end
@interface Android : Phone
-(void)setCpu:(int)cpu;
-(int)cpu;
@end
@implementation Android
-(void)setCpu:(int)cpu{
_cpu = cpu;
}
-(int)cpu{
return _cpu;
}
-(void)signalWithNumber:(NSString *)number{
NSLog(@"Android打电话给 %@",number);
}
+(void)brand{
NSLog(@"Android品牌");
}
@end
@interface Iphone : Phone
-(void)setCpu:(int)cpu;
-(int)cpu;
@end
@implementation Iphone
-(void)setCpu:(int)cpu{
_cpu = cpu;
}
-(int)cpu{
return _cpu;
}
-(void)signalWithNumber:(NSString *)number{
NSLog(@"Iphone打电话给 %@",number);
}
+(void)brand{
NSLog(@"Iphone品牌");
}
@end
int main(int argc,constchar * argv[]) {
@autoreleasepool {
Android *android = [Androidnew];
android.cpu = 10;
NSLog(@"android's cpu = %i",android.cpu);
[android signalWithNumber:@"13411379410"];
[Android brand];
Iphone *iphone = [Iphonenew];
iphone.cpu = 20;
NSLog(@"iphone's cpu = %i",iphone.cpu);
[iphone signalWithNumber:@"12123233"];
[Iphone brand];
}
return 0;
}
//2015-12-07 13:20:44.996 4,继承[1015:58588] android's cpu = 10
//2015-12-07 13:20:44.997 4,继承[1015:58588] Android打电话给 13411379410
//2015-12-07 13:20:44.997 4,继承[1015:58588] Android品牌
//2015-12-07 13:20:44.997 4,继承[1015:58588] iphone's cpu = 20
//2015-12-07 13:20:44.997 4,继承[1015:58588] Iphone打电话给 12123233
//2015-12-07 13:20:44.997 4,继承[1015:58588] Iphone品牌
//Program ended with exit code: 0
- 71,类的继承性
- 类的继承性
- 类的继承性
- c++类的继承:私有继承,公有继承,保护继承
- 公有继承,私有继承和保护继承的可见性
- 类的继承 保护继承和私有继承
- C#类的继承-什么是继承
- 继承QVector----模板类的继承
- 类的一般继承与虚继承
- 编译期判断类的继承性
- C++类的继承性和多态性
- PHP类的继承性---extends
- c++类继承的成员可见性
- php类的继承性及其相关
- Java实验2 类的继承性
- 继承的可见性
- CSS的继承性
- css的继承性
- LeetCode(173) Binary Search Tree Iterator
- 对话框
- linux网络编程实现投票功能
- Linux 网络编程 简单实例
- c++11中condition_variable信号量的标准用法。
- 71,类的继承性
- Linux网络编程--多线程实现echo服务器与客户端“一对多”功能,网络编程的“Hello World!” - 壮壮熊
- PHP curl 可以模仿用户登录,还可以模仿用户IP地址、伪造IP来源
- 【bzoj2927】[Poi1999] 多边形之战
- 斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感
- Linux启动过程中几个重要配置文件的执行过程
- Linux环境下网络编程杂谈
- wamp server多站点配置
- 根据城市名称的首字母,将城市分类