1.OC头文件为#import <Foundation/Foundation.h>意思为导入基础框架;
2.输出形式为NSlog(@“格式声明"); @autoreleasepool,自动释放池;
3.具有bool型变量(YES,NO);自己定义类;在工程名文件上右击鼠标,点击NEW file,选择sorce,点击cocoa class点击下一步,就会生成.h和.文件。
4.OC:面向对象语言;面向过程重要为函数,以函数为单位,面向对象语言重要用类;以类为单位,用#import导入文件,文件名不能相同,
扩展一下,BOOL的用法区别,id 类型不用加*。
runtime运行时:运行时刻(runtime)是指一个程序在运行(或者在被执行)的状态,也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻。在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为“运行库"。这些实例可以在它们运行的时候被连接或者被任何程序调用
5.面向对象的有关术语:
(1).类:类是一种结构,表示对象的类型,代表一批事物的抽象(包括接口部分和实现部分)。
(2).对象是一个特定得事物,专门只某一个,对象是类的一个事列,对象和类的区别就是,对象是特定的某个事物,类泛指一批事物,实例是对象的另外一种叫法,
(3)方法与消息:方法是类能够进行什么样的操作,一般通过对象进行方法的调用;-interface 接口部分用于定义类的公共接口;-@implementation 实现了在接口部分定义的方法等信息 ,部分为类的实现;Student *student
(4)方法:-|+(返回类型)方法名:参数列表+号方法用类名调用
类方法和对象方法的区别:(1)对象方法以—号开头,类方法以+号开头;(2)对象方法必须使用对象调用,类方法必须使用类调用;(3)对象方法中可以直接访问属性,类方法中不能直接使用属性;(4)类方法和对象方法可以相互调用(4.1)对象方法中可以直接调用类方法,(4.2)类方法中间接调用对象方法,(4.3)类方法中可以直接调用其他类方法(4.4)对象方法中可以直接调用对象方法(self调用)。
类方法的应用场景:如果方法中没有使用到属性,那么能用类方法的尽量用类方法,类方法的执行效率比对象方法高。类方法一般用于定义工具方法:字符串的查找,文件的操作,数据库的操作。
(5)属性:为学生类添加getter和setter方法,使用@property(属性) (strong nonatomic)(NSString*)/(assgin nonatomic)(int ),@synthesize自动生成getter和setter。@private(只能在自己类里面用),@public,@protected() *stu.name =@“affg”;set方法;NSLong
(6).set,get访问器;是对成员变量进行封装的,提高了变量的访问权限,对变量的数值进行限制。只有get只能读,只有set 只能写;封装:隐藏实现的步骤;
总结:一次性对多个成员变量赋初值,使用遍历初始化函数,对单个成员变量赋初值,并且没有条件限制,使用属性,对单个成员变量赋值,有约束限制使用get set访问器。
在-号方法里self代表当前类的指针,supper代表父类的指针;
在+好方法里面,self代表父类的指针或者是子类。
属性的写法:@property (strong nonatomic) NString *name;
@property (assign nonatomic) int age;属性生成器;用来简化代码;编译器特性