[课程笔记1-OC-类与对象]
一、[基本概念]
类:一类事物共同特征和行为的抽象
对象:类的具体个体[可以理解为构成类的元素]
范例:
类:车类
对象:1)拖拉机 2)轿车 3)超跑 4)悍马
也就是说,现在有一个类,名称叫做车,这个类实例化了4个对象,分别是1\2\3\4
二、[定义方式]
类的定义:
[先复习一下,结构体的定义是什么?]
struct 结构体名称{
元素
}结构体变量;
[类的定义是什么?]
类的定义分为两部分:
1)类的声明(规定类的类名,属性,行为)
一般形式
@interface 类名:父类名
//@interface和@end成对出现
{
//在这里定义类的属性
}
//括号外定义类的行为 [就是方法]
@end
2)类的实现(实现具体的行为)
一般形式
@implementation 类名
//行为的具体实现
@end
在Xcode6.4中,类文件创建完成后,左边一栏中一般有两个文件
.h:类的声明文件,用于声明成员变量、方法
类的声明通常使用两个关键字
@interface
@end
.m:类的实现文件,用于实现.h中声明的方法
类的实现通常使用关键字
@implementation
@end
[方法]
方法的声明实现都必须以"+","-"开头
'-'开头的方法是对象方法,调用的主体是类实例化的对象
'+'开头的方法是类方法,调用的主体是类
eg:
-(void)test1;
+(void)test2;
上面有两个方法
现在有一个类Person,实例化了一个对象 p
Person *p = [Person new];
减号的方法由对象 p 来调用
加号的方法由类 Person来调用
[p test1]
[Person test2]
在.h中声明的所有方法作用域都是public,不可变更
[成员变量]
成员变量的常用作用域有三种:
@public 全局访问
@protected 只能在类内部和子类中访问
@private 只能在类内部访问
三、[代码范例]
//声明一个类
@interface Autos : NSObject
{
//属性
NSString *name;
NSString *color;
int speedLimit;
}
//行为
@end
//类的实现
@implementation Autos
//行为的具体描述
@end
对于类和对象的基本了解就是这么简单容易 |
|