概念--
1.苹果电脑系统为OS X ; iOS为移动端开发的系统
Object-C ; 面向对象编程 OOP:(Object Oriented Programming); 面向对象语言:C++, Java, C# 面向对象 也可以叫 面向接口对象
2.类和对象 是面向对象的核心 类:具有相同特征和行为的事物的抽象
对象是类的实例 类是对象的类型 文件名和类名本质没有关系
方法--
方法名: 删除:类型标识,返回类型,参数类型,参数名,空格。
* 只定义方法,不实现,编译时候不会报错,但是运行的时候就会报错了,因为编译的时候只会判断方法有没有定义,而运行的时候是需要判断这个方法有没有实现
* 类方法“ +(id) name ”中不能使用实例变量
点语法--
2.这里的get方法和其他语言不一样,只要有返回值就是get方法
#include 、 # import 、 @class区别---
1. #include 如果连续多次在同一文件引入,会重复导入两次
2. #import 则只导入一次,但是会造成“循环引入”,可以用@class解决
3. Xcode使用ifdefine对#include做了优化
“循环引入”:A引入B ,B引入A;
@class 类名 只是声明这是个类 没有引入东西,不需要导入.h 但是这样里面的方法就不能使用,但是可以在.m文件里面导入import "class.h" 因为 .m文件 不会被引入,我们只引入.h文件,所以不会造成循环引入
%@用来打印类创建的 对象
NSString * _name 属于创建对象 NSString属于类;NSInteger
面向对象的三大特性--
1、封装
2、继承
3、多态 不同的类的方法名一样
当%@打印对象时,内部就自动调用该对象的description方法,默认打印对象的地址。
重写父类的description方法
-(NSString*)description
{
return
[NSStringstringWithFormat:@
"%@,%@,%ld"
,_name,_sex,_age];
}
初始化方法名 必须以“ init ”开头
-(id)initWithName:(NSString *)name;