objective-c 类和对象

时间:2021-11-04 03:52:51

 

0.NSString的简单使用

1.类的封装,数据保护;

2.setter和getter方法;

3.self,supper,id

4.初始化方法;

5.类方法

 

=========================================================

 

0、NSString简单使用

 

NSString 是oc字符串类; 

 

@“….” 字符串对象; 

 

NSString *s = @“我是一个字符串”;

 

 

 

1、类中实例变量的权限

 

需求:访问成员变量;

 

1)类的封装性, 数据的保护

2) 三种权限和默认的权限

@public,  @protected,   @private

OC中缺省默认是  @protected

 

 

【变量权限】

dog:name,age,weight

 

 

特殊方法:

【set方法与get方法】

 

set方法作用: 修改/ 设置成员变量;

get方法作用: 获取成员变量值;

 

 

命名:

set方法:  - (void) setXxxx:(参数类型)参数名; 

get方法:   -(返回值类型)getXxxx;

 

【test1】

 

练习: 

 

人类:  名字 NSString *,age,学号;    

1.set方法设置成员变量

2.get方法得到每个成员变量的值

 

 

 

【self,supper,id】

    

1)  id类型, 是指针类型;

id: 泛型对象指针,与C语言void *类似 

id类型可以指向任意对象类型, 不需要强制装换,可以直接使用;

 

【id示例】

 

 

 

练习:

【复合类设计】

冰箱IceBox存储物品 (id)

 

冰箱类: IceBox

大象类: Elephant

人类:     Person

狗类:     Dog

 

冰箱打开门;

冰箱存储物品id, 打印出物品类型;

冰箱关闭;

 

 

===============================

 

需求:如何在方法里面 调用其它方法?

 

实例方法里的self和supper?

1) super

super: 用于调用父类方法的关键字;//暂时了解 后面会讲

 

2)  self

self: 指向当前对象的指针,每个对象里都有一个指向当前对象的指针,这个指针就是self;

类内的方法进行相互调用可以用self

 

 

 

5.3. 初始化方法

 

 

【初始化方法的写法】 - (id)init;

【初始化方法的作用】  创建对象时初始化成员变量; 

 

 

初始化方法格式    

 

 1、不带参数的构造方法

 - (id)init;        

 

 

 2、带参的构造方法

 - (id)initWithXxxx:(参数类型)参数1 [标签]:(参数类型)参数2....;

 

 

练习:

 

1.创建一条公路,成员变量有长度和宽度,编写关于长度和宽度的构造方法和setter getter方法。

构造方法: 需要不带参数和带参数两个版本,不带参数默认长度为1000,宽度为1;

 

 

【Road】

 

 

 

2.有一个汽车类,价格price,品牌type;

  三个初始化方法; 

        通过价格创建并初始化汽车  

  通过品牌创建并初始化汽车 

  通过价格和品牌创建并初始化汽车 

【Car】

 

 

 

 

  3.5 类方法    

 

【dog】

类方法作用:

【通过类方法创建一个对象】

 

 

 

// 成员方法(实例方法) 

// 类方法 :                           

 

 

 

 

 

 

 

练习:

1.创建一个明信片类Card

属性:

姓名 

单位 

电话号码

方法:

构造方法  (带参数和不带参数)

 

通过类方法创建对象;(带参数和不带参数)

 

显示信息方法:

 

 

 

 

 

 

 

作业:

1、创建一个银行账户的类

属性:

账户号码

密码

存储金额

存储年限

方法:

构造方法

设置,账户号码,密码

存款

设置年限

取款

 

 

 

2.有一个分数的类,含有分子和分母,要实现构造、设置取值方法,要实现两个分数的+、

-、*、/ 运算;