面向对象特性之封装性(set方法、get方法)

初学者:可理解为,封装就是对成员变量(属性)的封装,把属性隐藏起来,对外提供一个方法,让外界通过一个方法设置属性的值。即,封装性就是隐藏实现细节,将属性私有化,提供公有方法访问私有属性。

进一层:方法也是封装。把一堆代码封装到一个方法里面去,隐藏实现细节。

再进一层:类也是一个封装。把类里面所有的方法都隐藏起来,只对你暴露一些接口。

再再进一层:一个包一个框架也是一个封装。例如,系统给我们提供了Foundation框架,我们只需知道有哪些接口,哪些方法,直接调用就可以了。

封装的目的:
同set方法封装属性,可以过滤掉一些不符合逻辑的数据,保证了我们数据的正确性
提高了代码的健壮性

封装的好处:
将变化隔离
提高代码的重用性
提高了代码的安全性

封装属性:

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

- (void)setName: (NSString *)name;

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

- (NSString *)name;

在开发当中有时候只提供get方法,该属性称之为只读属性
有时候只提供set方法,该属性就称之为只写属性

OC有一个约定
给成员变量赋值提供一个叫做set方法的方法:
1.一定是对象方法
2.返回值一定是void
3.一定以set开头,set后面跟上成员变量的名称去掉下划线,并且首字母大写
4.一定有参数,并且参数类型和成员变量类型一致,参数名称和成员变量名称去掉下划线相同

取成员变量的值提供一个叫做get方法的方法:
1.一定是对象方法
2.一定有返回值,并且返回值类型和成员变量类型一致
3.方法名称和成员变量去掉下划线一致
4.一定没有参数

成员变量以下划线开头好处:
1.可以和局部变量区分开来
2.可以和方法的参数区分开来
3.只要你打下划线就可以找到成员变量
4.ios程序员都按照这个规则区写,提高了代码的阅读性

时间: 2024-10-14 21:59:32

面向对象特性之封装性(set方法、get方法)的相关文章

Javascript面向对象特性实现封装、继承、接口详细案例——进级高手篇

Javascript面向对象特性实现(封装.继承.接口) Javascript作为弱类型语言,和Java.php等服务端脚本语言相比,拥有极强的灵活性.对于小型的web需求,在编写javascript时,可以选择面向过程的方式编程,显得高效:但在实际工作中,遇到的项目需求和框架较大的情况下,选择面向对象的方式编程显得尤其重要,Javascript原生语法中没有提供表述面向对象语言特性的关键字和语法(如extends.implement).为了实现这些面向对象的特性,需要额外编写一些代码,如下.

面向对象特征之封装性

封装原因: 1.隐藏一个类中不需要对外提供的实现细节. 2.限制使用者只能通过事先制定好的方法来访问数据. 3.方便加入控制逻辑及修改,增强代码的可维护性. 封装含义: 1.封装(也称为数据隐藏),是把数据和行为组合在一个包package中, 并把对象的使用者隐藏数据的实现方式. 2.对类的封装就是把类class中的属性私有化,即使用private关键字来修饰, 私有属性只能在它所在类中被访问. 封装原则: 1. 将不需要对外提供的内容都隐藏起来. 2. 把属性隐藏,提供公共方法对其访问. 3.

面向对象中的封装性怎么理解?

封装这个解释,我一直喜欢用CPU作为例子CPU把所有的电阻电容门电路等都封装起来,只留出一些管脚(接口)让用户使用,CPU能暴露什么,不能暴露什么,是生产商设计决定的,用户不能直接操作CPU的电阻电容等等,但可以通过給管脚适当的电压来控制电阻电容等,也就是说用户不能直接访问CPU的属性,但是可以通过方法修改CPU的属性的值同样的一个类也是把属性算法(逻辑处理)封装起来,只留必要的方法(接口)让用户使用,一个类该暴露什么,不该暴露什么,由类的设计者根据需求设计决定的.private属性用户不能直接

OC面向对象特性:封装

概念性知识 1.c语言是面向过程编程:分析解决问题的步骤,实现函数,依次调用 2.oc语言是面向对象编程:分析问题的组成的对象,协调对象间的联系和通信,解决问题 3.#include和#import的相同点与区别:两者都是导入头文件,而#import可以避免重复包含. 4.类:具有相同特征和行为的事物的抽象 5.对象:类里面的具体的东西 封装 封装是对象和类概念的主要特性.它是隐藏内部实现,稳定外部接口.     好处:使用更加简单  变量更加安全 可以隐藏内部实现细节  开发速度加快 #imp

Java面向对象一(封装 继承 多态 类 对象 方法)

1.封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 如下,人这个类封装了很多人的属性和行为: 2.继承:很好的实现了代码的复用,提高了编程效率. 人{ 年龄(属性一) 身高(属性二) 性别(属性三) 做事(行为之一) 走路(行为之二) 说话(行为之三)} 教师{ 年龄(属性一) 身高(属性二) 性别(属性三) 做事(行为之一) 走路(行为之二) 说话(行为之三) 教书(行为之四)} 教师继承了人的属性和行为,额外多出的是教书的行为.所以可以写成 教师 继承了 人这个类 的

JAVA- 面向对象的三大特征(封装性、继承性、多态性)

程序的发展经历了两个主要阶段:面向过程.面向对象.面向对象是当前软件开发的主流. 面向过程就是分析出解决所需要的步骤,然后用函数将这些步骤一步一步实现,使用的时候一个一个一次调用. 面向对象是把构成问题的事务分解成各个对象.建立对象的目的不是为了完成一个步骤而是为了描述某个事物在整个解决问题步骤中的行为. 面向对象是为了专注在程序中采用封装.继承.多态等设计方法.面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法吧系统构造成"现实世界"的对象. 面

Java语言中的面向对象特性

1.1 面向对象的基本概念  面向对象的基本思想  面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象.类.继承.封装.消息等基本概念来进行程序设计.从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式.开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域.其应用领域不仅仅是软件,还有计算机体系结构和人工智能等. 1. 对象的基本概念  对象是系统中用来描述客观事物的一个实体

Java语言中的面向对象特性总结

[课前思考]  1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类?  2. 面向对象编程的特性有哪三个?它们各自又有哪些特性?  3. 你知道java语言在面向对象编程方面有何独特的特点吗? 难点:  1. 理解方法重载和方法重写,不要混淆了两者的使用.  2. 类变量和类方法的使用.  3. 接口的使用. 3.1 面向对象技术基础 http://hovertree.com/menu/java/ 3.1.1 面向对象的基本概念  面向对象的基本思想  面向对象是一种新兴的程序设计方

Java10-java语法基础(九)——java的封装性

一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可信的类或者对象进行信息隐藏. 继承:继承是从已有的类中派生出新的类,新的类能吸收已有类的数据成员和方法,并能扩展新的能力. 多态:多态性是指不同的对象,收到同一消息可以产生不同的结果. 二.面向对象编程的封装性 封装的实现:通过private关键字实现 1.封装数据成员和成员方法 (1)封装数据成员:一般情况下,没有特殊说明,类的数据成员都是私有的 pri