面向对象编程 OOP
(Object Oriented Programming )
概念:对象、类、封装、继承、多态等
⾯向对象编程设计:
分析涉及到的对象
根据功能定义类 使⽤对象的功能完成程序
面向对象设计具有良好的可扩展性、可重用性。
对象是类的实例
类是对象的类型
汽车:发动机, 车门, 钥匙, 车轱辘 跑 停
手机:屏幕, 电池,型号,品牌 打电话, 发短信, 播放歌曲
#import #include @class 三者的区别:
调用头文件的方法
#import
,这样不会重复
#include
头文件,只在没有调用过的时候调用一次。而
@class
就是告诉编译器有这个类存在,但是类是如何实现的不用告诉编译器
.
若
.m
文件用到了这个类,还是要在
.m
文件汇总
import
这个类的。
继承NSObject 类 ,继承后自动申请内存空间
@interface Person :
NSObject
@end
//
类的实现
@implementation Person
@end
@implementation Person
@end
工程名不能用汉语或者拼音
类的命名以大写字母开头,每个单词的首字母大写。//驼峰命名法
实例变量和方法命名以_开头,首个单词开头字母小写,第二个开始首字母大写
NSInteger —> int
NSUInteger -> unsigned int
CGFloat
->
double
消息机制:[类名/实例名 方法名];--> [receiver message]
swift 和 oc 的区别就是swif里面没有消息机制
id -->任意对象类型
在oc中实例变量占内存,方法不占内存
类方法 + 无法使用实例变量 用类调用
实例方法 - 用实例调用
KVC ?Key-Value-Coding …… KVC是一种间接访问对象属性(用字符串表征)的机制,而不是直接调用对象的accessor方法或是直接访问成员对象。
KVC是KeyValue Coding的简称,它是一种可以直接通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Getter方法访问。 当使用KVO、Core Data、CocoaBindings、AppleScript(Mac支持)时,KVC是关键技术。