您的位置:首页 > 职场人生

黑马程序员_oc面向对象三大特性

2018-04-13 13:25 330 查看
------- IOS培训android培训、期待与您交流!
---------

1>封装
   封装就是对象的内部成员变量禁止外部直接访问,如果外部想要修改,可以提供一个set方法来供外部使用来修改内部成员变量的值。
set方法
1作用:提供一个方法给外界设置成员变量的值
2命名规范
1>方法名必须以set开头
2>set后面要跟上成员变量的名称,成员变量的值必须大写
3>set方法返回值一定是void
4>一定要接收一个参数,而且参数类型一定和成员变量类型一致。
5>行参的名称不能和成员变量一样。
对于已经封装的成员变量我们想要知道它内部的值就要提供一个get方法,来供外部访问内部中的成员变量。
get方法
作用:访问对象内部的成员变量
命名规范:
1>肯定有返回值,并且返回值的类型要和成员变量的类型一致
2>方法名和成员变量名称一样。
3>不需要接收任何参数

封装的好处,可以保证数据的安全性,禁止外部随意访问,可以对外部传来的数据进行过滤,控制非法数据的传入。在某些情况下并非完全提供set和get方法,如学生的学号,只供外部查看,不供外部设置。

继承
继承是类之间的关系。如果有两个类,类A和类B,如果A继承B,那么类A拥有类B的所有属性。
继承的好处
1 >建立了类之间的关系抽取了相同的代码,降低了代码的冗余性。
2>建立了类之间的关系
子类可以拥有父类中的全部属性。
继承使用的注意
1>父类必须在子类声明前声明。
2>oc中不允许子类和父类中拥有相同的成员变量,但是子类可以和父类拥有相同名称的方法。(ps:子类可以重写父类的方法,来覆盖父类中的做法)
3>调用一个对象的方法,会优先在当前对象中查找,如果找不到,再向父类中寻找,依次往上,直到找到该方法。(ps:类中也有一个自己的指针superclass指向自己的父类)。
继承的缺点是耦合性太强了,两个类的关系太紧密了,当其中一个类没有了,另外一个类就不能使用了。
继承和组合
继承的使用场合
1>当两个类拥有相同的属性和方法的时候,就可以将相同的东西抽取到另外一个类中
2>当A类拥有B类中的部分属性和方法时,可以考虑让B类继承A类

继承是xx 时xxx 譬如学生类是人类
组合是xx拥有xxx譬如学生类拥有成绩类
使用super 关键字可以在子类中调用父类中的方法。
super方法的使用场合,子类重写父类的方法,想要在子类中继续使用父类的方法。并且扩展父类的方法。

多态
多态就是父类指针指向子类对象。譬如狗类是动物类,它就有两个形态,动物类和狗类
调用方法时会动态检测到对象的真是类型。
多态使用的注意
不能使用一个子类指针指向父类对象,如猫类是个动物类,不能将动物类对象赋值给猫类指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: