OC基础--成员变量的封装
一、封装的作用:
1.重用
2.不必关心具体的实现
3.面向对象三大特征之一
4.具有安全性
二、OC中成员变量的命名规范以及注意事项
1、命名规范--.成员变量都以下划线“_”开头
1)为了跟get方法的名称区分开
2)一看到下划线开头的变量,肯定是成员变量
2、注意事项--以后的成员变量最好不要写@public,因为@public修饰的成员变量可以被别人乱改
三、成员变量的set方法
1.作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值
2.命名规范:
1)方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写--例:setAge
2)形参名称不要跟成员变量名同名--例:-(void) setAge:(int) newAge;
四、成员变量的get方法
1.作用:返回对象内部的成员变量
2.命名规范:get方法的名称一般就跟成员变量同名
五、代码示例
/*
成员变量的命名规范
*/ #import <Foundation/Foundation.h> // 声明
@interface Person : NSObject
{
// 成员变量都以下划线 _ 开头
// 1.可以跟get方法的名称区分开
// 2.一看到下划线开头的变量,肯定是成员变量
int _age;
} - (void) setAge:(int)newAge; - (int) age; @end // 实现
@implementation Person - (void) setAge:(int)newAge
{
_age = newAge;
} - (int) age
{
return _age;
} @end int main()
{
Person *p = [Person new];
[p setAge:]; int age2 = [p age]; NSLog(@"年龄是%i", age2); return ;
}
OC基础--成员变量的封装的更多相关文章
- OC基础成员变量、属性变量、实例方法与类方法
首先,为什么我们要定义一个新类呢?按照我的理解,就是为了抽象出来一个新的东西(也就是类),用来存储更多的数据变量和方法,一切类都直接或间接继承与NSObject. 在类的头文件里我们可以定义成员变量. ...
- Java基础-成员变量与局部变量
Java基础-成员变量与局部变量 1.什么是成员变量与局部变量? public class Student { String name; int high; public void stu ...
- OC基础--对成员变量的封装
#import <Foundation/Foundation.h> //日期结构体 typedef struct{ int year; int month; int day; } Date ...
- OC基础:实例变量和成员变量的区别 分类: ios学习 OC 2015-06-14 17:59 16人阅读 评论(0) 收藏
摘要: Objective-C 引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢 ...
- 【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态
一. Objective-C 方法详解 1. 方法属性 (1) OC 方法传参机制 Object-C 方法传参机制 : OC 中得参数传递都是值传递, 传入参数的是参数的副本; -- 基本类型 (值传 ...
- C#-面向对象的三大特性——封装(封装成员变量、封装成员方法)
封装: 封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型. 封装的意义在于保护或者防止代码(数据)被我们无意中破坏. 封装既可以封装成员变量,又可以封装成 ...
- OC中成员变量的命名
先前写C++ 的时候,命名成员变量一般都是用 m_veriableName:的方式,但是进到新项目组,用了OC以后,发现成员变量都是用 veriableName_的方式,最后的一个下划线表示是成员变量 ...
- C#面向对象——成员变量及封装
namespace 面向对象5_22 { class Animal { private string _Type; public string Type { get { return _Type; } ...
- 第3章 Java语言基础----成员变量与局部变量
在对局部变量进行赋值时,不能对非静态字段age进行静态引用,图1错误,加上static后图二正确,图3与图4类似,如下图所示: 图1图2 图3图4 2.成员变量times在类中定义,局部变量times ...
随机推荐
- 【MVC 4】1.第一个 MVC 应用程序
作者:[美]Adam Freeman 来源:<精通ASP.NET MVC 4> ASP.NET MVC 是微软的一个 Web开发框架,它整合了“模型—视图—控制器(MVC)”架构 ...
- win8程序开机自启动管理
主要介绍利用系统自身的工具来管理开机自启动,而非第三方的工具,自己了解了,也写出来分享给大家@.·.@ 1.程序设置开机自启动 a. 打开计算机资源管理器-->进入"C:\Progra ...
- 基于对话框的MFC应用程序基本结构
新建一个基于对话框的MFC应用程序,假设命名为 Test:则该应用程序在刚创建的时候,有4个非常重要的文件和3个类: 4个非常重要的文件 1.Test.h 2.Test.cpp (应用程序类头文件) ...
- 合工大 OJ 1322 窗口
窗口 Description 在某图形操作系统中,有N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的区别,在多于一个窗口重叠的区域里, ...
- UESTC 885 方老师买表 --状压DP
将方格的摆放分成两种: 1.水平摆放:此时所占的两个格子都记为1. 2.竖直摆放:此时底下那个格子记为1,上面那个记为0. 这样的话,每行都会有一个状态表示. 定义:dp[i][s]表示考虑已经填到第 ...
- UESTC 923 稳住GCD DP + GCD
定义:dp[i][j] 表示 在前i个数中,使整个gcd值为j时最少取的数个数. 则有方程: gg = gcd(a[i],j) gg == j : 添加这个数gcd不变,不添加, dp[i][j] ...
- uGUI练习(五) Draggable Object
练习目标 学习制作一个可拖动的UI 一.步骤 监听UI的Drag事件,需要我们写一点点的代码. 1.创建一个Panel ,设置size为(100,100) 2.创建DraggableObjectSce ...
- 在Unity中为模型使用表情
在游戏中让角色能够拥有表情,是我一直很想实现的一件事情,今天搜索了一下这方面的资料,找到两个解决方案. MMD For Unity GitHub:https://github.com/mmd-for- ...
- Netty开发UDP协议
UdpServer package org.zln.netty.five.part07; import io.netty.bootstrap.Bootstrap; import io.netty.ch ...
- IIS mime类型
参考网站:http://www.iwms.net/n1381c2.aspx 以下例子为iis6.0 下载安卓.苹果安装包时候,需要添加mime类型才可以下载,否则访问不到 安卓 .apk appli ...