2015 IOS 学习笔记 面向对象之多态 实例僵尸的练习 ——蓝懿教育

多态

多态性(polymorphism)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。不同对象以自己的方式响应相同的消息的能力叫做多态。意思就是假设生物类(life)都用有一个相同的方法-eat;那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法。也就是不同的对象以自己的方式响应了相同的消息(响应了eat这个选择器)。

实现多态,有二种方式,覆盖,重载。

1)覆盖:是指子类重新定义父类的虚函数的做法。

2)重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。

——————————僵尸练习————————————

界面中创建

- (void)viewDidLoad {

[superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

[NSTimerscheduledTimerWithTimeInterval:.2target:selfselector:@selector(addZomb) userInfo:nilrepeats:YES];

}

-(void)addZomb{

Zomb *z1 = [[Zomballoc]initWithFrame:CGRectMake(300, 100, 60, 90)];

[self.view addSubview:z1];

ZombB *z = [[ZombBalloc]initWithFrame:CGRectMake(300, 200, 60, 90)];

[self.view addSubview:z];

}

?两个僵尸,而且两个僵尸分别是两个子类,创建一个父类要让两个僵尸的事件继承到父类当中,因此要创建三个类。。

并且要让两个僵尸速度不同位置不同,因此个各类要有自己的特性。

时间: 2024-10-27 04:57:22

2015 IOS 学习笔记 面向对象之多态 实例僵尸的练习 ——蓝懿教育的相关文章

2015 IOS 学习笔记 打砖块练习以及接水果练习 ——蓝懿教育

今天我们进入做实例环节,刘国斌老师带我们做了两个小游戏,两个游戏看似简单但内包含的知识面几乎涵盖了之前所学到的所有东西,所以综合性很强,而且锻炼个人逻辑思维能力. 打砖块练习中,要再界面中添加一个砖块的矩形,两个控制砖块左右移动Button,然后在砖块之上建立一个球,使得界面开始时 球开始移动,然后碰撞到墙面反弹再碰撞反弹,直至反弹至砖块上?接住,使得球与砖块相交时再次反弹. 难点在于要考虑球反弹至墙壁后如何反弹,解决方法是给球设置一个移动速度speed,让这个speed是个数值类型,碰到墙壁,

2015 IOS 学习笔记 面向对象 初始化方法 ——蓝懿教育

今天学习了面向对象以及初始化方法,这个在实际应用中比较重要,也比较抽象,所以要具体在实例中才能理解. ————————面向对象有三大特性—————— 一.封装 封装是对象和类概念的主要特性.它是隐藏内部实现,稳定外部接口,可以看作是“包装”.封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 好处:使用更简单变量更安全可以隐藏内部实现细节开发速度加快 OC中一个类可以继承另一个类,被继承的类成为超类(superclass),继承的

2015 IOS IOS_UIWebView字体大小、字体颜色、背景色——在蓝懿教育 学习笔记

前段时间需要修改webView背景色,上stackoverflow搜了很久没有找到结果,百度搜索,各种转载,各种坑爹,搜出来的都只有字体大小和字体颜色,页面背景没有看到,本人发布方法,希望可以帮助到更多人 在webView的delegate回调方法-webViewDidFinishLoad:(UIWebView*)webView;中写上一下语句即可 //字体大小 [webView stringByEvaluatingJavaScriptFromString:@"document.getEleme

蓝懿 2015 IOS 学习笔记 数字运算 随机值 图形关联

来蓝懿教育学习的第一天,由刘国斌老师独家授课教学,一天下来感觉很充实,并且在没有任何基础之上学到如何在Xcode中运用简单的数字运算与图形关联方法.刘老师教课方式比较有趣生动,班级很活跃,我们这一批学员人数较少,所以学习气氛浓郁,把今天的笔记整理一下. ————————————首先是简单数字运用计算——————————————— ? ? int c =1231233123; float a = 10; float b = 232.23; float d = a-b-c; NSLog(@"%f&q

蓝懿 2015 IOS 学习笔记 作用域 if判断 BOOL变量

我来自蓝懿教育 第二天学习了简单的计算器加减乘除的运算,变量,BOOL变量,以及if判断.掌握情况较为良好. 首先学习了简单计算器.在界面中输入两个添加数值的UITextview,在其中添加数字类型的数值,并且在下方有四个Button分别代表加减乘除,然后再放置两个Label作为符号显示与计算结果.图形是这样的: ————————随后学习的全局变量———————— 全局变量与局部变量的区别: 全局变量就是整个源程序都有效的变量:而局部变量会在其所属的函数或循环等结束后消亡.整个程序都要用的变量定

2015 IOS 学习笔记 for循环 方法练习 ——蓝懿教育

今天学习了for循环以及方法,内容有些复杂,不过万变不离其宗 在以后的学习中容易掌握,因为涉及范围广阔,使用率高.所以多加练习后会掌握. ————————for循环—————————— for循环概念: for循环编程语言中的语句之一,用于循环执行.for循环是开界的,它的一般形式为: for(; <<span se-mark="1">条件表达式>; ) 语句: 初始化总是一个赋值语句, 它用来给循环控制变量赋初值: 条件表达式是一个关系表达式, 它决定什么时候

2015 IOS 学习笔记 控 件 ——蓝懿教育

UIlabel  *l1   蓝懿教育 text font 设置字体 设置居中  l1 setTextAlignment:NSTextAlignmentCenter 设置行数  numberOfLines //    lf.font = [UIFont fontWithName:@"字体名称" size:18]; //设置居中 [l setTextAlignment:NSTextAlignmentCenter]; UIbutton 内容  setTitle    UI button  

2015 IOS 学习笔记 界面图形计算器的制作——蓝懿教育

- (IBAction)calAction:(UIButton *)sender { self.number1 = [self.resultLabel.textfloatValue]; self.operator = sender.tag; self.resultLabel.text = @"0"; } - (IBAction)clear:(id)sender { self.resultLabel.text = @"0"; //     self.resultLab

2015 IOS 学习笔记 内存管理,页面跳转 ——蓝懿教育

——————————内存管理———————————————— 手动内存管理(MRC)中常用的三个方法 retain:导致内存计数+1 release:导致内存计数-1 copy:复制出来一个新的对象 和之前对象的数据可能一致 但是 不是同一个对象 此对象内存计数是1 autorelease:自动释放 当变量出了自动释放池之后会自动释放 自动释放池在项目中有很多看不见的 属性描述关键字: retain/strong: //如果是retain 会做两件事 //-(void)setNames:(NSM