1.
OC是面向对象的,C语言是面向过程的
2.
面向过程关注的是解决问题需要哪些步骤
3.
类只关心事物名称、属性、行为
4.
OC如何定义一个类
#import <Foundation/Foundation.h>
@interface Car : NSObject //表示继承自NSObject
@end
5.
面向对象的思想——间接
需要一个东西,不关心做法,让别人做好
6.
OC是面向对象的C,OC完全兼容C;OC可以构建类,它以类的形式来解决问题,实现了很多C所不具备的东西
7.
OC里面有一个ID类型,可以表示任意类型的对象,实现动态绑定
8.
OC具有消息机制,集成了Smalltalk语言的特点
9.@interface部分
OC里面把属性叫做实例变量,把方法、行为称为实例的方法(或者叫做实例的消息)
声明函数: - (void)eat;
其中减号“-”表示对象的方法,加号“+”表示类的方法
//生成set方法和get方法的一种写法
@property (nonatomic,assign) int age;
@property (nonatomic,assign) char * name;
10.
.h是类的声明部分
.m是类的实现部分(@implementation)11.类的方法和实例方法
OC的方法分两种
实例的方法可以用对象调用,类方法只能使用类去掉用
创建一个Person类的对象:Person * person = [[Person alloc]init];
如何调用实例的方法:[person eat];
类方法调用:[Person run];//对象不能调用类的方法,只能用类名来调用
类方法也可以理解为static方法
12.
set方法的声明
-(void)setSex:(NSString*)valueSex; //性别的set方法
调用方式
[p setSex:@"男"];13.权限
public:公有的,可以在类外访问
protected:保护,类内可以访问,子类可以访问,类外不可以访问
private:私有的,类内访问,子类或者类外不可以访问
OC里面默认属性为protected
14.
提供一个修改实例变量的接口
-(void)setNumber:(int)numberValue;
释放字符串:name = nil;