---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
封装基本概念
因为成员变量是public的,也就是公开的,我们不能控制外界如何赋值
外界有可能赋值一些脏数据
可以利用封装来解决这个问题
封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方法
因为成员变量是public的,也就是公开的,我们不能控制外界如何赋值
外界有可能赋值一些脏数据
可以利用封装来解决这个问题
封装:是指隐藏对象的属性和实现细节,仅对外提供公共的访问方法
所以我们可以利用 get/set来解决
给成员变量赋值的方法我们称之为set方法
获取成员变量的值的方法我们称之为get方法
set方法:
1.一定是对象方法
2.一定没有返回值
3.方法名称一定以set开头,set后面跟上属性名称去掉下划线,并且首字母大写
4.一定有参数, 参数类型一定和成员变量类型相同
5.参数名称一般是成员变量名称去掉下划线
get方法
1.一定是对象方法
2.一定有返回值类型,返回值类型和成员变量类型相同
3.方法名称是成员变量名称去掉用下划线
4.一定没有参数
如果没有提供set方法的成员变量我们称之为只读属性, 也就是说只有get没有set
如果没有提供get方法的成员变量我们称之为只写属性, 也就是说只有set没有get
组合模式:
组合模式:组合模式就是在一个类中,声明类其他对象的指针变量(把其它对象声明为当前对象成员变量)
组合模式就是一个"谁拥有谁"的一个概念
如何判断组合模式是否合理: 谁拥有谁
组合模式的优点:
全局对象方法中都可以直接访问,简化了代码
缺点:
依赖性比较大
组合模式的使用场景:
当多个方法中都用到了同一个对象,那么就把他设置成成员变量
继承基本概念
总结:
基本概念:
当B类继承类A类, B类就拥有类A类的成员变量和方法
如何判断继承是否合理: is a XXX 是 XXX
继承的好处:
继承的出现提高类代码的复用性
继承的出现让类与类之间产生类关系, 提供了多态的前提
继承的坏处:
耦合性太强
继承中的注意点:
>1.子类不能拥有和父类相同名称的成员变量
>2.在继承中调用某个方法时,优先去当前类中查找,如果找不到再去父类中找
>3.OC中只有单继承(只允许有一个父类),没有多继承(同时继承两个父类),但是支持多层继承
注意,在子类中不能有和父类中名称一模一样的成员变量
当子类当中编写类和父类当中一模一样的方法,我们称之为重写
继承中方法的调用顺序,会先在本类中找,如果本类中找不到再去父类中找
多态基本概念
总结:
什么是多态:某一类事物的多种形态
多态的前提:必须有继承关系
表现形式:父类类型的指针指向子类对象
多态的局限性:
父类类型的指针不能用来调用之类类型的特有方法, 如果想调用子类特有方法必须进行强制类型转换
2. 多态的体现Person *p = [Student new];p->age = 100;[p walk];子类对象赋值给父类指针父类指针访问对应的属性和方法---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
黑马程序员 OC------封装 继承 多态的基本概念
最新推荐文章于 2015-10-08 23:28:58 发布