------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
类的设计
通常分为类名,属性和行为三个部分
其中类名以驼峰标示进行书写 ClassNameIsThis
补充学习点:enum枚举类型中需要将枚举名置入
类的声明
@interface className:supper class //声明开始
{
int num;//声明实例变量,注意这里不可以int num = 4;因为对象还没有创建,所以并不能在这里进行初始化
}
- (void)method:(int)num;//声明方法
@end//声明结束
类的实现
@implementaion className//实现开始
- (void)method:(int)num
{
//实现方法的代码
}
@end//实现结束
objective-c中采用消息机制,所以方法的调用是
[classObject method];
补充知识点:objective-c可以对nil发送消息
关于对象,如果生成后,并不会自动释放
补充知识点:对于方法前面的-号,对应的有+号
-号方法为对象方法,+号方法为类方法
相应的调用为:
[classObject method] [className method]
objective-c中只能用指针来间接操作对象,并且通常不许对实例变量进行public标示,
而是采用set和get调用,但是objective-c中有合成存储器的便捷写法,可以快速的生成的set和get。
关于函数和方法的主要区别,函数可以在任何位置,归文件所有
而方法必须依照特定写法并放置在特定的区域,归类所有
面向对象三大特性分别为:
封装,继承,多态
封装,实例变量的封装,主要的作用是对数据进行保护
实例变量的命名规范要以下划线开头 _
关键字:self 指向调用者自身,如果调用者是对象就指向对象,如果调用者是类,就指向类
继承,通常来说指的是类与类之间的关系
一般将多个类相同的实例变量和方法抽出作为一个基本类,然后进行继承使用
主要是提高代码利用率和可读性
关于使用继承还是组合,只是一种编程思想的考量
关键字:super与self类似,但是指的是调用类的父类
多态,使不同的类共享相同方法名称的能力成为多态
也就是说,允许父类和子类拥有同名的方法
至于,在调用同名方法中如何判断该调用哪个方法,是由于系统总是携带该对象属于哪个类的信息
所以不必担心调用错误