[Objective-c 基础 - 2.1] 封装

A.封装内部细节,根据需求暴露方法

 1 #import <Foundation/Foundation.h>
 2
 3 @interface Student : NSObject
 4 {
 5     int age;
 6 }
 7
 8 - (void) setAge:(int) newAge;
 9 - (int) age;
10
11 - (void) study;
12
13 @end
14
15 @implementation Student
16
17 - (void) setAge:(int) newAge
18 {
19     if (newAge <= 0)
20     {
21         age = 1;
22     }
23     else
24     {
25         age = newAge;
26     }
27 }
28
29 - (int) age
30 {
31     return age;
32 }
33
34 - (void) study
35 {
36     NSLog(@"%d岁的学生在学习", age);
37 }
38
39 @end
40
41
42 int main()
43 {
44     Student *stu = [Student new];
45     [stu setAge:21];
46     [stu study];
47
48     NSLog(@"这个学生的年龄是%d", [stu age]);
49
50     return 0;
51 }

B.封装规范

使用下划线开头命名实例变量

 1 @interface Student : NSObject
 2 {
 3     int _no;
 4     Sex _sex;
 5 }
 6
 7 - (Sex) sex;
 8 - (void) setSex:(Sex) newSex;
 9 - (int) no;
10 - (void) setNo:(int) no;
11
12 @end

时间: 2024-08-09 19:53:35

[Objective-c 基础 - 2.1] 封装的相关文章

java基础面向对象之封装

java基础面向对象之封装 2017-01-15 封装 1)封装性就是保证类内部被外部类不可见 2)所有属性都必须使用private关键字声明 3)封转后的属性如果要被外部所访问就必须实现set和get方法 例如: 使用了private声明的属性只有在自己的类是可见的 1 class Book{ 2 private String title ; //使用private声明的属性 3 private int price ; 4 } 5 public class PrivateDemo1 { 6 p

移动端滑屏全应用【一】cssHandler操作基础动画函数封装

前言: 大家都知道,在移动端进行操作结点移动时,我们都会使用操作transform来代替top等用以提高性能,必要的时候还可开启3d加速.我们都会使用getComputedStyle来获取结点的最终样式,但使用getComputedStyle来获取transform时我们获取到的是一个矩阵值,而且是无法通过设置矩阵值反向设置transform的效果的.如下: body.style.WebkitTransform = 'translateY(50px)' getComputedStyle(body

黑马程序员——Java基础---面向对象之封装

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 面向对象之封装      一:封装概述 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 好处: (1)将变化隔离(内部怎样变化外部是不需要知道的,只调用即可) (2)便于使用(我们不用知道内部构造直接使用就可以) (3)提高重用性

JS面向对象基础篇(封装 继承 多态)

首先我们要创建一个对象,我们可以利用javascript的语法特征,以类的思想来创建对象 一:封装 (1)原始方法,代码如下 <script> var obj=new Object(); obj.name='Tom'; //给对象添加属性 obj.sex=22; obj.showName=function(){ //给对象添加方法 alert(this.name); } obj.showAge=function(){ alert(this.age); } obj.showName(); //'

阿花宝宝 Java基础笔记 之 封装

为什么要用封装 安全 方便 降低耦合封装的步骤:1.将属性变为private修饰2.写封装的方法 public void setXxx(参数){ //根据处理逻辑给属性赋值 } public 属性类型 getXxx(){ //return 属性值 }访问修饰符 一个.java文件可以定义多个class   但是只能有一个public class 且要求与文件名一致 默认修饰符 protect private public static 静态  static 修饰的成员随类加载,在创建对象之前,因

[ Java学习基础 ] Java的封装性与访问控制

Java面向对象的封装性是通过对成员变量和方法进行访问控制实现的,访问控制分为4个等级:私有.默认.保护和公有,具体规则如下表: 1.私有级别 私有级别的关键字是private,私有级别的成员变量和方法只能在其所在类的内部自由使用,在其他的类中则不允许直接访问.私有级别限制性最高.示例代码如下: 1 // PrivateClass.java文件 2 public class PrivateClass { 3 private int x; 4 5 public PrivateClass() { 6

java基础---抽象和封装

1.为什么使用面向对象? 现实世界是由什么组成的,世界由对象组成 面向对象的思想符合人类思维习惯,面向对象的思想描述面向对象的世界 2.软件出现的目的 n用计算机的语言描述现实世界 n用计算机解决现实世界的问题 3.面向对象设计和开发程序的好处 n交流更加流畅 n提高设计和开发效率 4.一个现实世界的问题 宠物--现实世界的对象 如何在计算机中描述它们? 从现实中抽象出类分三步:1. 找出它的种类2. 找出它的属性3. 找出它的行为 第一步:发现类(根据"对象"抽象出"类&q

python基础--面向对象之封装

# 在python中用双下划线,开头的方式将属性隐藏起来(设置成私有的) # 但其实这只是一种变形操作,而且仅仅在类定义阶段会发生变形 # 类中所有双下划线开头的如__x都会在类定义的时候自动形成:_类名__x的形式. class A: __N = 0 # 类的属性就应该是共享的,但是语法上是可以把类的数据属性设置成私有的如__N 会变成_A__N def __init__(self): self.__X = 10# self._A__X def __foo(self): # _A__foo p

Objective - C基础: 第六天 - 2.ARC转换以及第三方框架的管理

在我们之前的项目中, 或多或少都会有手动引用计数的存在, 看到apple出了自动引用计数, 再看看自己的项目, 就有一种砸电脑的冲动, 别着急~~其实apple很为我们开发者着想, 旧项目一样可以转成ARC, 废话少说, 直接上图: 后面的操作不需要我讲了吧? 傻瓜式的操作, 一直下一步, 直到完成为止, 这样子你的项目就会焕然一新~~~全世界都舒服晒(粤语)~~~ 但问题来了, 有一些第三方框架不支持ARC, 那肿么办?? 别着急, apple为开发者考虑的很多, 一样有办法可以解决~~~继续