黑马程序员---object-c知识点总结(一)封装,继承,多态
2014-08-20 21:58
483 查看
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
#import<Foundation/Foundation.h>
//动物颜色的枚举值
typedef enum {
ColorRed ,
ColorBlack ,
ColorGreen,
ColorWrite
} Color ;
//动物性别的枚举值
typedef enum {
SexBoy,
SexGirle,
SexUnknown
} Sex ;
//声明Animal类的属性
@interface Animal : NSObject
{
Color _color ;
Sex _sex ;
int _age ;
}
//设置动物的颜色
- (void)setColor:(Color)color ;
//获得动物的颜色
- (Color)color ;
//设置动物的性别
- (void)setSex:(Sex)sex ;
//获得动物的性别
- (Sex)sex ;
//设置动物的年龄
- (void)setAge:(int)age ;
//获得动物年龄
- (int)age ;
//动物跑的行为
- (void)run ;
//动物吃的行为
- (void)feed ;
@end
//实现Animal的功能
@implementation Animal
- (void)setColor:(Color)color
{
_color = color ;
}
- (Color)color
{
return _color ;
}
- (void)setSex:(Sex)sex
{
_sex = sex ;
}
- (Sex)sex
{
return _sex ;
}
- (void)setAge:(int)age
{
_age = age ;
}
- (int)age
{
return _age ;
}
- (void)run
{
NSLog(@"动物,-----跑起来了");
}
- (void)feed
{
NSLog(@"动物,-----吃饱了");
}
@end
@interface Dog : Animal
- (void)run ;
- (void)feed ;
+ (void)run ;
+ (void)feed ;
@end
@implementation Dog
- (void)run
{
NSLog(@"狗狗,-----跑起来了");
}
- (void)feed
{
NSLog(@"狗狗,-----吃饱了");
}
+ (void)run
{
NSLog(@"狗,++++++跑起来了");
}
+ (void)feed
{
NSLog(@"狗,++++++吃饱了");
}
@end
int main()
{
Animal * animal = [Animal new] ;
[animal run] ;
//Animal * a1 = [Dog new];
//[Dog run];可以这样转换但是有缺陷,不建议使用
//使用强制转化法
父类指针转化为子类对象
Animal * a1 = [Dog new];
Dog * p1 = (Dog *)a1
[p1 run];
[Dog run];
[a1 run] ;
return 0 ;
}
#import<Foundation/Foundation.h>
//动物颜色的枚举值
typedef enum {
ColorRed ,
ColorBlack ,
ColorGreen,
ColorWrite
} Color ;
//动物性别的枚举值
typedef enum {
SexBoy,
SexGirle,
SexUnknown
} Sex ;
//声明Animal类的属性
@interface Animal : NSObject
{
Color _color ;
Sex _sex ;
int _age ;
}
//设置动物的颜色
- (void)setColor:(Color)color ;
//获得动物的颜色
- (Color)color ;
//设置动物的性别
- (void)setSex:(Sex)sex ;
//获得动物的性别
- (Sex)sex ;
//设置动物的年龄
- (void)setAge:(int)age ;
//获得动物年龄
- (int)age ;
//动物跑的行为
- (void)run ;
//动物吃的行为
- (void)feed ;
@end
//实现Animal的功能
@implementation Animal
- (void)setColor:(Color)color
{
_color = color ;
}
- (Color)color
{
return _color ;
}
- (void)setSex:(Sex)sex
{
_sex = sex ;
}
- (Sex)sex
{
return _sex ;
}
- (void)setAge:(int)age
{
_age = age ;
}
- (int)age
{
return _age ;
}
- (void)run
{
NSLog(@"动物,-----跑起来了");
}
- (void)feed
{
NSLog(@"动物,-----吃饱了");
}
@end
@interface Dog : Animal
- (void)run ;
- (void)feed ;
+ (void)run ;
+ (void)feed ;
@end
@implementation Dog
- (void)run
{
NSLog(@"狗狗,-----跑起来了");
}
- (void)feed
{
NSLog(@"狗狗,-----吃饱了");
}
+ (void)run
{
NSLog(@"狗,++++++跑起来了");
}
+ (void)feed
{
NSLog(@"狗,++++++吃饱了");
}
@end
int main()
{
Animal * animal = [Animal new] ;
[animal run] ;
//Animal * a1 = [Dog new];
//[Dog run];可以这样转换但是有缺陷,不建议使用
//使用强制转化法
父类指针转化为子类对象
Animal * a1 = [Dog new];
Dog * p1 = (Dog *)a1
[p1 run];
[Dog run];
[a1 run] ;
return 0 ;
}
相关文章推荐
- 黑马程序员---object-c知识点总结(二)封装,继承,多态
- 黑马程序员---object-c知识点总结(三)封装,继承,多态
- 黑马程序员 面向对象特征 封装、继承、多态总结
- 黑马程序员——OC基础学习(四)---封装,继承和多态的学习知识总结
- 黑马程序员—面向对象(static,封装,继承,多态,内部类,抽象类,接口)总结
- C#中的继承封装和多态知识点总结
- Core Java第七章知识点总结——封装、继承、多态
- 黑马程序员-Object-C继承.super.多态的用法总结
- 黑马程序员 《ios零基础教程》--“三大特性”-封装、继承、多态 2014-4-22总结
- 黑马程序员_ Objective C 封装,继承,多态总结
- 黑马程序员—面向对象之封装、继承、多态
- 黑马程序员_学习日记35_529基础加强(封装、继承、多态)
- 黑马程序员-------面向对象的封装、继承、多态一些学习笔记
- 黑马程序员 知识点总结-Java多态
- 黑马程序员_源自梦想 三大特征:封装、继承、多态
- 黑马程序员-----------------面向对象_封装、继承、多态
- 黑马程序员——封装,继承与多态
- 黑马程序员_java面向对象总结【3】(继承、接口和多态)
- 黑马程序员—Objective-C基础_封装、继承、多态
- 黑马程序员---java基础之面向对象(一)三大特征(封装,继承,多态)