02-封装的细节

#import <Foundation/Foundation.h>

typedef enum {
    SexMan,
    SexWoman
} Sex;

@interface Student : NSObject
{/*成员变量的命名规范:一定要以下划线 _ 开头
  作用:
  1.让成员变量和get方法的名称区分开
  2.可以跟局部变量区分开,一看到下划线开头的变量,一般都是成员变量
  */
    int _no;
    Sex _sex;
}

// sex的set和get方法
- (void)setSex:(Sex)sex;
- (Sex)sex;

// no的set和get方法
- (void)setNo:(int)no;
- (int)no;

@end

@implementation Student

- (void)setSex:(Sex)sex
{
    _sex = sex;
}

- (Sex)sex
{
    return _sex;//*******************************get方法return 的时候带_
}

- (void)setNo:(int)no
{
    _no = no;
}
- (int)no
{
    return _no;
}

@end

int main()
{
    Student *stu = [Student new];

    [stu setSex:SexMan];
    [stu setNo:10];

    [stu sex];

    [stu no];

    return 0;
}

  

时间: 2024-10-15 15:51:18

02-封装的细节的相关文章

Objective-C学习篇02—封装

面向对象的三大特性:封装.继承和多态 封装目的就是将数据隐藏起来,外界只能通过这个类的方法(接口)才能访问或者设置里面的数据,不可以在外部直接修改或者访问里面的数据,通常使用方法来达到封装一个类的目的,最终使这个类达到高内聚低耦合的目的. 耦合说的是一个软件结构宏各个模块之间的相互关联相互紧密的程度,模块之间的联系越精密,其耦合性也就越强,模块间耦合的高低取决于模块之间接口的复杂性,调用信息的方式及传递的信息. 内聚说的是单个模块内各个元素之间彼此结合的紧密程度,所谓高内聚就是一个软件模块是由相

php笔记02:整型细节说明

1.php的一个整数可以是十进制,也可以是八进制和十六进制: 比如:$a=0123; //八进制 $a=0x1A; //十六进制 2.php的整数都是有符号的数(java也是只有有符号数) 3.在php中,一个整数,一般占用4个字节(与平台相关) PHP_INT_SIZE:可以测试我们机器上是几个字节组成的数据平台 PHP_INT_MAX:可以显示int最大的数可以是多少

分页的封装——java实现(基于oracle)

    分页功能(Pagenation类) 分页功能的 封装 + 实现: 分页的SQL语句 + 分页工具类Pagenation的细节 + 分页原理 一.     分页的SQL语句: select * from (selectt.*,row_number() over(order by ROWNUM ASC) rn from goods t) where rn>=? andrn<=? ?  goods :为表名,数据从goods中查得 ?  第一个? :起始行号 ?  第二个? :终点行号 二.

[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) ne

4、类和封装

本学习主要参考Andrew Troelsen的C#与.NET4高级程序设计,这小节主要述说以下几个东西: 1.构建支持任意数量的构造函数的定义明确的类类型. 2.类和分配对象的基本知识 3.封装的作用 4.定义类属性以及静态成员.对象初始化语法.只读字段.常亮和分部类的作用 C#类类型 .net平台最基本的编程结构就是类类型,正式的说,类是由字段数据(成员变量)以及操作这个数据的成员(构造函数.属性.方法.事件等)所构成的自定义类型.总的来说,其中的字段数据用于表示类实例的‘状态’(对象). C

深入分析面向对象中的封装作用

之前我(梦在旅途)发表过一篇名为<深入分析面向对象中的对象概念>的文章,里面主要讲解了类与对象的关系以及对象的概念.状态.行为.角色几个知识点,让大家对对象有了一些深入的了解,而本文则再来谈谈面向对象的三大特性之一:封装,封装是实现面向对象的基础,深入的理解封装的特性,有利于我们能更好的领悟面向对象的思想以及实现面向对象编程.以下均为本人凭借多年开发经验总结的个人观点,大家若发现有误或不足的地方,欢迎指正和交流,谢谢! 一.什么是封装? 顾名思义,封:封闭,装:装起来,将具体的实现细节装到一个

面向对象的JavaScript --- 封装

面向对象的JavaScript --- 封装 封装 封装的目的是将信息隐藏.一般而言,我们讨论的封装是封装数据和封装实现.真正的封装为更广义的封装,不仅包括封装数据和封装实现,还包括封装类型和封装变化. 封装数据 封装实现 封装类型 封装变化 封装数据 在许多语言的对象系统中,封装数据是由语法解析来实现的,这些语言也许提供了 private.public.protected 等关键字来提供不同的访问权限.但JavaScript并没有提供对这些关键字的支持,我们只能依赖变量的作用域来实现封装特性,

python类的继承、封装和多态

摘自https://www.cnblogs.com/evablogs/p/6724477.html 继承 1 2 3 4 5 6 7 8 class Person(object):     def __init__(self, name, gender):         self.name = name         self.gender = gender class Student(Person):    def __init__(self, name, gender,score):  

S2---深入.NET平台和C#编程的完美总结

1.NET简单解说 l 面向对象提升 OOP(Object Oriented  Programming)面向对象编程 AOP:(Aspache  Oriented Programming):面向切面编程 OOD(Object Oriented  Designer)面向对象设计(架构师)   3万/month OOA(Object Oriented  Analysis)面向对象分析  (分析师) 10万/month DBA(Database Administrator,简称DBA) l 泛型集合对

你应该知道的 RPC 原理

在校期间大家都写过不少程序,比如写个hello world服务类,然后本地调用下,如下所示.这些程序的特点是服务消费方和服务提供方是本地调用关系. 而一旦踏入公司,尤其是大型互联网公司就会发现,公司的系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责.这时就会遇到两个问题: (1) 要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用? (2) 其它团队要使用我们的服务,我们的服务该怎么发布以便他人调用? 下文我们将对这两个问题展开探讨: p