iOS APP 开发 OC 第六天, 类&对象

tags: OC 30 day

什么是对象?

对象是现实生活中的一个具体存在。看得见,摸得着。拿过来就可以直接使用

什么是类?

物以类聚,人以群分。
类是对一群有相同特徵或者行为的事物的一个统称。抽象的。不能直接使用。

案例

食物是类还是对象?
水果是类还是对象?
苹果是类还是对象?
我早上吃的那一个苹果?


类和对象的关係

类是模板,类的对象是根据这个模板创建出来的。
类模板中有什么,对象就有什么,绝不可能多,也绝不可能少。

如何设计一个类

类的作用: 用来描述一群具有相同特徵行为的事物。
设计类的三要素:

类的名字,你要描述这个类事物叫什么名字。这类事物具有相同的特徵,这类事物拥有什么。这类事物具有共同的行为。这类事物能做什么?

如何找到类

名词提炼法:分析整个业务流程,分析出现了哪些名词,这些名词就是你要找到的类。

先有类还是先有对象?

从现实的角度:一定是先有对象再有类。
从程式码的角度:一定是先有类才有对象。


如何定义类

类的三要素定义类的语法
a. 位置:直接写在源文件之中,不要写在main函数之中。
b. 语法:
类的定义分为两个部分。
-> 类的声明
@interface 类名:NSObject{这类事物具有的共同特徵,将他们定义为变量。}功能就是一个方法,将方法的声明写在这里。@end

-> 类的实现

@implementation 类名将方法的实现写在这里@end
几点注意
a. 类必须要有声明和实现。
b. 类名用你棉树的事物名称来命名就可以了,类名的每第一个单字的首字母必须要以大写开头。
c. NSObject是什么意思,先不用管,之后会补充。
d. 用类表示着类事物的共同特中的变量必须定义在@interface的大括弧之中。
e. 定义在大括弧之中用来表示着类事物的共同的特徵的变量我们叫做,属性 成员变量 实例变量 字段.....
f. 为类定义属性名时,属性的名称一定要_为开头。
示範
@interface Person : NSObject{    NSString *_name;    int _age;    float _height;}@end@implementation Person@end

如何创建一个类的对象呢?

语法:
类名 *对象名 = [类名 new];

Person *p1 = [Person new];

那么,这句话是什么意思呢?

根据Person 这个类的模板,创建了一格对象的名字叫做p1
p1对象的特点:
-> 可以直接使用
-> 类中定义的东西,这个对象也有,不会多也不会少。

如何使用对象?

如何访问对象的属性:

默认情况下,对象的属性是不允许外界直接访问的。如果允许对象的属性可以被外界访问,那么就在声明属性的地方嫁入@public的关键字。访问对象的属性的方式
对象名->属性名 = 值
对象名->属性名;

(*对象名).属性名;

平时使用的时候,使用->

练习

写一位学生的类, 属性: 姓名 年龄 语文成绩 英文成绩

@interface Student : NSObject{    @public    NSString *_name;    int _age;    int _lang;    int _math;    int _english;}@end@implementation Student@endint main(int argc, char * argv[]) {    Student *s1 = [Student new];    s1->_name = @"小花";    s1->_age = 17;    s1->_lang = 100;    s1->_math = 99;    s1->_english = 98;        NSLog(@"s1对象的姓名是%@,年龄是 %d,语文是%d,数学是%d,英文是%d",          s1->_name,          s1->_age,          s1->_lang,          s1->_math,          s1->_english);}

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章