OC学习笔记4

面向对象的三大特征:封装,继承,多态

封装:隐藏实现细节,将属性私有化,提供公有方法访问私有属性

类是对数据的行为封装

对数据的封装可以私有或保护的成员变量对数据进行封装

行为封装可以通过私有方法堆不希望外界访问的方法进行封装,在OC中可以通过只有实现没有声明的方式来实现私有方法,但OC中没有真的私有方法;因为没声明只有实现的方法外界依然可以调用

 

封装

/*

 1.类事数据与功能的封装,数据就是成员变量,功能就是对象方法和类方法

 2.对数据的封装

    如果我们把属性设置为@public那么这个属性外面就可以任意的修改,我们就失去了管理这个属性的权利

    1,当你把属性暴露在外面的时候你就失去了对他的管理一旦这个属性被多个人使用时如果在管理这个属性就变得非常麻烦

        这个类的可维护性就会变的很差

 */

属性封装语法

向外部提供设置属性的set方法

 

向外部提供访问属性的get方法

 

 OC学习笔记4_第1张图片

 

 

 

 

Setget方法的使用场合

@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问

 

代码封装的好处

过滤不合理的值

屏蔽内部的赋值过程

让外部不必关注内部细节

 

关联关系

关联关系是类鱼类之间的关系

一个类拥有另外一个类就是关联关系也称未必HasA关系

关联关系是开发中一种常见的对象与对象间的关系

HasA关系使用场景

当一个对象对另一个对象是拥有关系时

 

依赖关系与关联关系的区别

一对一

一对多

多对多

依赖关系:当一个类中的某个方法的形参或方法中的局部变量使用了另外一个类,那么我们就称这两个中存在依赖关系

关联关系的耦合度要大于依赖关系的耦合度

 

继承性

OC中的类都继承自NSObject

继承性是类与类之间的关系—对象与对象之间的关系

OC中只有单继承

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

通过继承扩展功能

重写父类方法

 

 

 

你可能感兴趣的:(学习笔记)