OC学习三

来源:互联网 发布:淘宝优惠券公开推广 编辑:程序博客网 时间:2024/06/07 18:54

OC学习笔记
1.OC中类的声明及实现
类的的声明与Java中使用的关键字不同不是使用Class而是使用@interface
类的命名规范:有意义,驼峰标识,首字母大写
属性的命名规范:以下划线_开头第一个单词的首字母以小写开头
EX
 
 
 
 
 
 
 
 
 
 
 
 
 
@public可以让Car对象的wheelsspeed属性被外界访问
 
加上:NSObject的目的是让Car类具备创建对象的能力
 
-(减号表示的是对象方法)需要类实例化后才能调用且OC中方法的调用与Java中不同Java中采用的是.点语法而OC中采用的是[对象 方法名]
 
OC中方法的声明和实现实在两个文件中实现的.h中负责声明.m文件中负责实现
属性的声明一定要在@interface的一对花括号里而方法的声明要在花括号外@end
声明部分
@interface 类名:NSObject
{
属性/类所具有的特性
}
方法标识符(返回值类型)方法名:(参数类型)参数名;
@end
实现部分
@implementation类名
方法标识符(返回值类型)方法名:(参数类型)参数名{
方法体
}
@end
注意:
成员变量不能在 { }中进行初始化,不能直接拿出去访问
方法不能当做函数一样调用
OC中调用方法 [对象名 方法名]
成员变量/方法不能用static等关键字修饰
类的实现@implemention    @end可以写在main函数后面
 
如果类的声明和实现都写在同一处时当前面的的类使用后面的类是要在前面写上@Class类名
 
 
@interface就好像暴露在外面的时钟表面
@implementation就好像隐藏在时钟内部的构造实现
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2.创建对象
 
 
 
 
 
 
[Car new] 每次都会创建出新的对象,并且返回对象的地址所以应该用一个指针变量保存对象的地址
Car *c = [Car new];
用一个指针变量c指向内存中的Car对象
设置车子对象的属性
跟用指向结构体的指针访问结构体属性一样,用->
c->wheels = 3;
c->speed = 300;
创建多个Car对象
分别只设置wheelsspeed属性
Car *c1 = [Car new];
c1->wheels = 4;
Car *c2 = [Car new];
c2->speed = 250;
[c1 run];
1个赋值给另一个,然后修改属性
Car *c1 = [Car new];
c1->wheels = 4;
c1->speed = 250;
Car *c2 = c1;
c2->wheels = 3;
[c1 run];
 
3.面向对象封装的好处
更加接近人类的思考方式
只需要关注对象,不需要关注步骤
 
4.对象与函数参数
对象成员变量作为函数参数
指向对象的指针作为函数参数
修改指向对象的成员
修改指针的指向(指向某对象的指针及指针的指针)
5.OC方法和函数的区别
5.1 OC方法只能声明在@interface@end之间,只能实现在@implementation@end之间 也就是说OC方法不能独立于类存在
5.2 函数不属于类跟类没有关系
 
6.Oc方法的注意事项
没有@interface,只有@implementation,也是能成功定义一个类的
 
 
 
 
 
 
 
7.方法
 
 
方法调用
 
 
带一个参数的方法
 
 
 
 
 
 
 
 
方法调用
 
带多个参数的方法
 
 
 
 
方法调用
 
方法名注意
冒号也是方法名的一部分
同一个类中不允许两个对象方法同名
 


0 0
原创粉丝点击