-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
-----------并不是生来就是大神、代码量决定一切、其他都是假象、-----------
objective-c OC全称 就是面向对象的意思
它是在c语言的基础上增加了一层小的面向对象的原 完全兼容c
可以在oc代码中混入c语言代码,甚至c++代码
oc所有关键字以@开头
比如@“hello” hello 就是字符串
oc程序的入口点事main函数
import 和 include 的区别在于 improt 自动防止文件被重新拷贝
所有框架文件都会有一个主同文件,只要调用主头文件就可以使用这个框架中的所有文件
命名方式 主头文件名/主头文件名.h
怎么创建对象(创建对象的过程)
对象:是通过类创建的,而在创建对象之前类会被加载进内存一次,只加载一次
通过类在开辟一块存储空间 然后初始化后并赋值给对象
而每一个对象内部都会有一个默认的isa指针,这个指针会指向对象所对应的类
对象只可以访问自己的成员变量
类的设计:
类名
属性
方法(功能)
如何调用方法:
当指针给对象发送一条 方法消息后, 对象中的isa指针会根据方法名去对象对应的类中查找方法
哪对象调用的方法 方法就会使用哪个对象的成员变量;
对象方法和类方法的使用
对象方法以- 号开头 对象方法必须声明在 @interface 类名 : 父类 和@end之间 实现在@implementation 类名 @end之间
如果有返回值必须在小括号中写如返回值的类型
例如:
@interface Person : NSObjcet
{
int _a;//实例变量 注意命名规范 类中实例变量的名字前面要用“_”下划线
int _b;
}
- (void)eat;
- (int)sum;
@end
@implementation Person//方法的实现 必须写在@implementation 和@end之间 其他都是错误的
- (void)eat
{
NSLog(@“调用了对象edt方法”);
}
- (int)sum
{
return _a + _b;//如果有返回值的话 就一定要用return
}
@end
类方法:以+号考头只有类可以调用的方法 类方法中不能 通常情况下使用类方法来提高程序的性能
因为他根本不需要创建对象来使用方法 类方法中只有方法 他不能访问任何实例变量 可以使用形参
oc弱语法 只有在程序执行的时候才会检测方法有没有被实现
如:
+ (void)wangwangwang
{
NSLog(@“调用了类方法”);
}
int main()
{
Person *p =[ [Person alloc] init];
//Person类 调用类方法
[Person wangwangwang];
}
对象和类方法使用的两个步骤 : 声明 和实现
对象方法只能由对象来调用,类方法只能由类来调用
函数不能在interface中声明