首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
《OC疯狂讲义》笔记(一)
时间:
2015-01-13 21:37:20
阅读:
145
评论:
0
收藏:
0
[点我收藏+]
标签:
1、OC简介
Objective-C 继承自C和smalltalk
最小程度增加了面向对象的部分,是一门面向对象编程语言
1986. Next 得到授权
关于 Cocoa 框架(96)
Cocoachina.com
code4app.com
2、OC HelloWorld
OC的文件有哪几种?
.h 头文件(声明类)
.m OC源文件(类的实现)
#import <Foundation/Foundation.h> //导入文件
//main函数是OC得主入口函数
int main(){
NSLog(@"Hello World!");
return 0;
}
1)NSLog的使用
NSLog() 特点:
1)OC中的日志输出函数,
2)自动换行
3)带有时间戳
4)输出OC的特有的类型 %@(NSString)
5)在使用NSLog的时候,在格式控制字符串的末尾加上一个\n是不起作用
printf 特点:
1)不能自动换行
2)不能打印OC中的字符串
2)@符号的使用
1)@"" 表示OC中的字符串
2)@特殊单词 OC的关键字
3)NS 前缀的说明
NextStep --> Next Software
3、OC对比C快速入门
1) 源文件的差异
2)数据类型
block 块
id 万能指针
BOOL YES/NO 1/0
SEL 选择器
Boolean 布尔类型 true/false 1/0
3)关键字和标示符
@xxx
4)语句结构(分支和循环)
oc 增强型for循环
forin(快速枚举)
for(NSString *str in arr){
str 每次存放的值是不一样的
}
5)函数对比
C 函数:功能相对独立的代码段
void test(int x){
}
OC 方法:功能相对独立的代码段
1)对象方法
- 开头
对象调用
-(返回值类型) 方法名;
-(返回值类型) xxx:(参数类型) 形参名;
对于有参数的方法来说,方法名是:"xxx:"
2)类方法
+ 开头
类名取调用
6)逻辑类型
BOOL / Boolean
4、面向对象编程
面向对象是面向过程而言
面向对象是基于面向过程
面向对象和面向过程,都是一中编程思想
面向对象:
首先是把功能封装到对象中
完成一个事情,需要多少个对象来做
面向过程:
完成一件事情,需要哪些步骤
类和对象
类:一类事物的特征的抽象
对象:满足类的特征的一个个体
一个类可以创建多个对象
类的提取
名词提炼法
类的创建步骤:
1)类名
2)类的属性(实例变量、成员变量)
3)行为(方法)
5、第一个OC类
类的使用:1)声明一个类 2)实现一个类
类的声明:(定义属性和声明方法)
@interface 类名 : 父类名
{
//类的属性的定义
}
//类的方法声明
@end
类的实现:(方法的实现)
@implementation 类名
@end
对象方法的定义:
-(返回值类型) 方法名;
-(返回值类型) xxx:(参数类型) 形参名;
对于有参数的方法来说,方法名是:"xxx:"
-(返回值类型) xxx:(参数类型) 形参名 andXXX:(参数类型) 形参名;
方法名: xxx: andXXX:
[对象名 xxx:实参1 andXXX:实参2];
方法的调用
[对象名 方法名]; //调用无参方法
[对象名 方法名:实参];
6、对象的存储细节
对象的创建:
Student 类
[Student new];
1)申请存储空间
2)给类的成员变量初始化(基本数据类型 0 ,NSString null)
3)返回申请的内存空间的首地址(8个)
//1)创建了一个Student 类型的 指针变量 stu
//2)使用Student 类创建了一个对象 stu
Student *stu = [Student new];
sizeof(stu); //8
7、对象方法和函数之间的区别
对象方法有归属,方法是属于某一个对象
每个对象只能调用字节对象方法
所有函数都是平行的
只要先声明函数,我可以在任何函数中调用其他函数
8、创建类的时候,常见的错误
调用了一个 只是定义而没有实现的方法,会报错!
《OC疯狂讲义》笔记(一)
标签:
原文地址:http://blog.csdn.net/liwei3gjob/article/details/42682835
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!