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

------- 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方法的使用场合,子类重写父类的方法,想要在子类中继续使用父类的方法。并且扩展父类的方法。


多态

多态就是父类指针指向子类对象。譬如狗类是动物类,它就有两个形态,动物类和狗类

调用方法时会动态检测到对象的真是类型。

多态使用的注意

不能使用一个子类指针指向父类对象,如猫类是个动物类,不能将动物类对象赋值给猫类指针。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值