OC小知识点
简单、面向对象和动态特性
Cocoa(pc) CocoaTouch(iphone) 两个框架
1、oc完全兼容c语言
2、oc程序的源文件后缀名.m m代表OC中重要的一个机制,消息机制
c程序源文件后缀名.c
3、main函数仍然是oc程序的入口和出口
4、import指令
以#开头,是一个预处理指令,将文件内容在预编译的时候拷贝到指令的地方
同一个文件无论import包含多少次,只包含一次
5、功能集合框架
6、NSLog函数
print函数增强版
NSLog(@“大苏打”,变量列表);
7、\n换行
8、字符串
NSstring专门用来存储OC字符串的地址 NSsTRING *STR = @""
如果使用NSLog函数输出oc字符串的值,那马占位符%@
9、@inteface 类名 :NSObject
{
}
@end
@implementation
@end
Student *stu = [[student alloc] init]使用alloc方法为对象分配一块内存,并调用init方法为对象进行初始化
stu指针变量
10、类属性下划线开头
11、消息机制 MeSSAGE [myRectangle setOriginx:30.0 y:50];
类的声明与实现:
-
方法的定义与使用
QQ截图20200601175621.png
QQ截图20200601175635.png
QQ截图20200601175748.png -
成员变量的定义与使用
QQ截图20200601180620.png
12、封装:封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体的实现细节,这就是封装思想。比如,用户使用手机时,只需要会操作手机,而不需要知道手机的内部实现,就可以使用手机的功能了。
set与get方法
13、继承性:继承性主要描述的是类与类的关系,通过继承,可以在不必重写类的情况下,对类的功能进行扩展。列如,有一个电脑类,该类描述了电脑的普通特点和功能,而笔记本电脑类中,不仅要包含电脑的特性和功能,还应该增加笔记本电脑特有的功能
-
关于继承的案例:
首先我们创建一个Animal类对其赋值:
QQ截图20200602210126.png
QQ截图20200602210259.png
然后在创建一个Dog类继承Animal:
QQ截图20200602210322.png
Dog可调用Animal中的成员变量
QQ截图20200602210408.png
最后进行类的调用:
QQ截图20200602210432.png
Dog类完全继承了其父类方法并输出了自己的方法
-
父类方法重写:
QQ截图20200602211238.png
QQ截图20200602211256.png -
super关键字:子类重写父类方法后,父类中的方法会被覆盖,子类将无法访问父类被重写的方法,为解决这个问题提供了一个super关键字
QQ截图20200602211428.png
输出后可同时调用父类与子类
14、多态性;
多态指一个实体具有多种型态
QQ截图20200602215829.png
多态仅限于父类指针指向子类对象