/*
1类和对象
什么是对象
是现实生活当中的一个具体存在。看得见 摸得着。拿过来就可以使用
2什么是类
物以类聚 人以群分
类是对一群有相同特征的事物的统称。抽象的。不能直接使用
3案例
食物
水果
苹果。 类
烟台苹果。
小洞早上吃的苹果。对象
交通工具。类
汽车 类
==============
类和对象的关系
类是模版。类的对象是按照这个模版创建出来的
类的模版有什么,对象中就有什么。绝不可能多,绝不可能少
类是制造月饼的模子。模子不能吃 所以类不能直接使用
对象是根据模子制造出来的月饼。模子上有什么,月饼就有什么 不会多不会少
月饼可以吃。对象可以直接使用
2如何设计一个类
类的作用:用来描述具有相同特征和行为的事物
设计类的三要素:
一》 类的名字。 描述事物的名字
二》这类事物具有的相同特征。这类事物都拥有什么
三》这里事物具有的相同行为。这类事物做什么
3 如何找到类
名词提炼法:分析整个业务流程,分析出现了哪些名词,这些名词就是你要找的类
3两坦克发射 了6枚炮弹射中了3架飞机
坦克类
特征:型号,大小,材质,射程,重量,材质
行为:发射炮弹 行驶
炸弹类
特征:型号,大小,材质,射程,重量,材质
行为:飞 爆炸
飞机类
特征:型号,座位数量
行为:飞。爆炸
1 先有类还是先有对象
现实角度先有对象才有类
代码角度先有类后用对象
2再次确认类的作用。描述具有相同特征和行为的事物
3 如何定义一个类
1)类的三要素
2)定义类的语法
a 位置 写在源文件中 不要写在main方法中
b 语法:
类的定义有两部分。
1 类的声明
@interface 类名:NSObject
{
这类事物具有的共同特征,将他们定义为变量
}
功能就是一个方法,将方法声明写在这里
@end
2 类的实现
@implementation 类名
将方法的实现写在这里
@end
3 几点注意
a 类必须要有声明和实现
b 类名用描述的事物的名称来命名就可以
类名的每一个单词的首字母必须大写开头
c。NSObject 什么意思不用管
//变量必须写在interface 大括号里面。用来表示这类事物的共同属性。也叫属性 成员变量 实例变量 字段
语法是固定的
@interface Person : NSObject{
//这类事物的共同属性叫变量
//变量名一定要以下划线开头。 NSString * _name;
数据类型 变量名1;
数据类型 变量名2;
。。。。。。
}
@end
@implementation 类名
@end
4 类的定义
1类的作用
2类的三要素
3类的定义
5类是无法直接使用的
如果要使用这个类就要先找的这个类的具体存在再使用这个对象
类和对象的关系
类中有的东西。这个对象也会有 不多不少
对象也可以使用。现在就需要找到这个对象
如何创建类的对象
语法。类名 *对象名 = [ 类名 new ];
Person *p1=[Person new];
根据Person这个类创建了一个对象 p1
p1对象的特点
-》可以直接使用
-〉类中定义的东西对象中也有不多不少
6 如何使用对象
如何访问对象的属性
1)默认情况下,对象的属性一般不对外界直接访问的
如果允许对象的属性可以被外界访问 那就在声明的属性前加一个@public关键字
2)访问对象属性的方法
对象名->属性名 =值;
对象名->属性名; 来取值
NSLog(@"p1对象的名字是%@",p1->_name);
(*对象名).属性名=值;
//赋值的一种方法
(*p1)._name=@"jack";
平时使用-> 方便
*/
#import <Foundation/Foundation.h>
@interface Person : NSObject{
@public
NSString * _name;
int _age;
float _height;
//变量必须写在interface 大括号里面
}
@end
@implementation Person
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
Person *p1=[Person new];
//赋值的一种方法
(*p1)._name=@"jack";
NSLog(@"p1对象的名字是%@",p1->_name);
// p1->_name=@"jack";
// p1->_age=12;
// p1->_height=176.5f;
//
// NSLog(@"p1对象的名字是%@",p1->_name);
}
return 0;
}