蓝懿iOS 技术内容和心得 10。28技术内容交流和心得分享
来源:互联网 发布:韩风男装淘宝店 编辑:程序博客网 时间:2024/05/17 18:04
今天正式开学第八天,因为面向对象比较难理解 ,今天我们复习面向对象 下面就带大家看一下什么叫面向对象,面向对象又有几种方法:
一、封装
封装是对象和类概念的主要特性。它是隐藏内部实现,稳定外部接口,可以看作是“包装”。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
好处:使用更简单变量更安全可以隐藏内部实现细节开发速度加快
OC中一个类可以继承另一个类,被继承的类成为超类(superclass),继承的类是子类(childclass),可以直接拥有父类中所有非私有成员(相关实例变量)、方法。继承的实现在接口中使用符号“:”。
举个例子:@interfaceStudent:NSObject{}不过大家要注意的是:属性封装实例变量,方法封装具体实现代码,类封装属性和方法。子类可继承父类中的方法,还可重写父类方法。
二、多态
多态性(polymorphism)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。不同对象以自己的方式响应相同的消息的能力叫做多态。意思就是假设生物类(life)都用有一个相同的方法-eat;那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法。也就是不同的对象以自己的方式响应了相同的消息(响应了eat这个选择器)。
实现多态,有二种方式,覆盖,重载。
1)覆盖:是指子类重新定义父类的虚函数的做法。
2)重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
三、继承
面向对象编程(OOP)语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee是一个人,Manager也是一个人,因此这两个类都可以继承Person类。但是Leg类却不能继承Person类,因为腿并不是一个人。
本章小结:封装可隐藏实现细节,,使代码模块化;继承可扩展已存在的代码模块(类);它们最终需要的结果(代码重用)。多态是为了实现另一个目的(接口重用)。多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。
第五天总结:
面向对象
属性
方法
初始化方法:有参和无参
类方法和对象方法(实例方法)
对象方法:-开头 通过创建出来的对象去调用的叫对象方法
类方法: 用+开头 通过类名去调用的方法叫类方法
工厂方法:用来创建对象的类方法 叫做工厂方法
单例:任何地方得到的对象都是同一个对象
封装
继承
子类可以当父类用,
父类不能当子类用。
- 这种方法是判断一种种类的
if ([ball isMemberOfClass:[Basketball class]]) { NSLog(@"篮球");
}else NSLog(
@"足球");
- 这种是判断种类中多种种类的
if
([ball isKindOfClass:[Basketball class]]) { NSLog(@"蓝球");
}else NSLog(
@"足球");
- 中括号里面的不能带点 因为调用的是方法 不是属性
学习ios 重要还是要理清楚思路 在做或者看老师代码的时候 自己多想想为什么 不要自己看着就抄 另外还是要推荐一下 蓝懿IOS这个培训机构 和刘国斌老师刘国斌老师还是很有名气的,听朋友说刘老师成立了蓝懿iOS,,老师讲课方式很独特,能够尽量让每个人都能弄明白,有的比较难懂的地方,如果有的地方还是不懂得话,老师会换个其它方法再讲解,这对于我们这些学习iOS的同学是非常好的,多种方式的讲解会理解得更全面,这个必须得给个赞,嘻嘻,还有就是这里的学习环境很好,很安静,可以很安心的学习,安静的环境是学习的基础,小班讲课,每个班20几个学生,学习氛围非常好,每天都学到9点多才离开教室,练习的时间很充裕,而且如果在练习的过程中有什么困难,随时可以向老师求助,不像其它机构,通过视频教学,有的甚至学完之后都看不到讲师本人,问点问题都不方便,这就是蓝懿与其它机构的区别,相信在刘国斌老师的细心指导下,每个蓝懿学员都能找到满意的工作,加油!
写博客的第十八天,
QQ 565803433;
- 蓝懿iOS 技术内容和心得 10。28技术内容交流和心得分享
- 蓝懿iOS 技术内容和心得 10。29技术内容交流和心得分享
- 蓝懿ios 技术内容交流和心得分享10.30
- 蓝懿ios 技术内容交流和心得分享10.31
- 蓝懿ios 技术内容和心得交流分享 11.6
- 蓝懿ios 技术内容和心得交流分享 11.7
- 蓝懿ios 技术内容和心得交流分享 11.8
- 蓝懿ios 技术内容和心得交流分享 11.10
- 蓝懿ios 技术内容和心得交流分享 11.2 打飞机主要步骤
- 蓝懿ios 技术内容和心得交流分享 11.3 打飞机主要步骤
- 蓝懿ios 技术内容和心得交流分享 11.4 控件
- 蓝懿ios 技术内容和心得交流分享 11.5 控件
- 蓝懿ios 技术内容和心得分享 12.27
- 蓝懿ios技术分享和心得交流 16.1.13
- 蓝懿iOS 技术内容和心得 10。13
- 蓝懿iOS 技术内容和心得 10。16
- 蓝懿iOS 技术内容和心得 10。17
- 蓝懿ios 技术内容和心得 10。18
- 归算法及经典递归例子代码实现
- LintCode_不同的路径
- Oracle函数之非常实用的统计查询
- 自定义View实现支付宝芝麻信用页面功能
- Mybatis基本配置和搭建
- 蓝懿iOS 技术内容和心得 10。28技术内容交流和心得分享
- 2015-10-28
- 显式调用构造函数和析构函数
- Hadoop2.x下安装HBase
- 私有构造函数
- 用ajax判断帐号是否存在(附例子)
- SpringMVC-初识SpringMVC
- 动态规划
- [c语言] 调用函数实现求两个数中的最大值