黑马程序员——OC基础学习(一)---第一个OC语言程序和面向对象编程的基本认识
来源:互联网 发布:哪能看爱情动作片知乎 编辑:程序博客网 时间:2024/04/28 21:44
------ <a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a> 期待与您交流! -------
1.第一个OC语言之“hello,world!” 各部分所代表的意思
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); } return 0;}
(1)#import<Foundation/Foundation.h>, 告诉编译器找到并处理名为Foundation.h文件,这是一个系统文件,#import表示将该文件的信息导入到程序中。
(2)intmain(int argc, const char * argv[]),这个方法是程序的入口。参数argc-参数数 目,argv-参数值。
(3)@autoreleasepool{}这是一个自动释放池,用于回收对象的存储空间。
(4)@autoreleasepool{}这是一个自动释放池,用于回收对象的存储空间。
(5)@“Hello,World!”,是代表NSString字符串对象,它是Objective-C常用的字符串类。
(6)最后是return0语句,它表示要终止main的执行,一般情况下0代表正常结束,非0代表异常情况, 这是沿用了C语言的习惯。
2.NSLog函数和printf函数的区别
NSLog函数
printf函数
打印时显示时间\项目信息
不显示时间\项目信息
打印时能自动换行
打印时不能自动换行
参数形式为: @"XXXXXXX"
参数形式为:char*
只能以%s的形式,打印C语言中英文的字符串
不能打印OC的字符串
可以进行格式化的输出
输出OC特有的类型 %@(NSString)
3.OC中的数据类型
- 抽象性
- 封装性
- 多态性
- 继承性
类名:苹果手机(Iphone)
属性:颜色(_color ), 大小(_size), _cpu
行为:查看本机信息(aboutMyPhone),打电话(call),发短信(sendMessage)
实现该类,并:
1)查看本机信息
2)打电话给10086
3)给10086发短信问联通的客服电话是多少
#import <Foundation/Foundation.h>typedef enum color{kColorBlack,kColorWhite,kColorTHJ} iColor;//创建一个类// 1) 类的声明@interface Iphone :NSObject //NSObject 父类,默认的{ //类的属性(实例变量) //枚举类型 @public iColor _color; //定义一个枚举类型的变量 _color //_color 取值范围,只能是 kColorBlack,kColorWhite,kColorTHJ其中之一 NSString *_size;//屏幕尺寸 NSString *_cpu; //Cpu型号}//声明类的方法-(void)aboutMyPhone;-(void)call:(NSString *) num;-(void)sendMessage:(NSString *)num andContent:(NSString *)content;@end// 2) 类的实现@implementation Iphone//方法的实现//查看本机信息-(void)aboutMyPhone{ NSLog(@"本机信息: 颜色:%d,尺寸:%@,CPU:%@",_color,_size,_cpu);}//给 xxx 拨打电话-(void)call:(NSString *) num{ NSLog(@"正在给%@拨打电话",num);}//给xxx发送短信,短信内容xxx-(void)sendMessage:(NSString *)num andContent:(NSString *)content{ NSLog(@"正在给%@发送短信,短信内容:%@",num,content);}@endint main(int argc, const char * argv[]) { @autoreleasepool { //定义的时对象方法, 对象方法用什么来调用? 对象 Iphone *iphone7plus = [Iphone new]; //给对象的属性赋值? 对象名 -> 属性名 iphone7plus->_color = kColorTHJ; iphone7plus->_size = @"7.7寸"; iphone7plus->_cpu =@"A16"; [iphone7plus aboutMyPhone]; [iphone7plus call:@"10086"]; [iphone7plus sendMessage:@"10086" andContent:@"您好,麻烦告诉一下联通的客服电话是多少"]; } return 0;}
- 黑马程序员——OC基础学习(一)---第一个OC语言程序和面向对象编程的基本认识
- 黑马程序员——OC基础——OC基本语法和面向对象的基本概念
- 【黑马程序员】【OC语言】我的第一个OC程序
- 黑马程序员——OC面向对象的基础认识
- 黑马程序员-08.OC的基本语法和面向对象思想
- 黑马程序员-OC语言基础学习(一)
- 黑马程序员-OC学习日记一之第一个OC程序
- 黑马程序员——OC基础---简单的OC程序
- 黑马程序员--Objective-C——第一个OC程序
- 黑马程序员------OC 面向对象和面向过程思想(基础)
- 黑马程序员----java语言的特性和面向对象编程
- 黑马程序员——OC语言(一)--基本语法
- 黑马程序员—OC语言基础—类与对象
- 黑马程序员——OC语言基础---类和对象
- 黑马程序员——OC语言基础---对象和方法
- 黑马程序员_第一个OC程序
- 黑马程序员---objective-c基础学习--第一个oc程序及代码分析
- 黑马程序员-OC语言基础:面向对象语法 一
- subprocess
- 容器+AOP实现动态部署(四)
- Lintcode快速幂
- 不能再docker容器中使用宿主机的docker服务的解决方案
- uva_10140/poj_2689 Prime Distance(區間素數)
- 黑马程序员——OC基础学习(一)---第一个OC语言程序和面向对象编程的基本认识
- 编写DLL所学所思——导出函数
- MemoryPool的简单实现(内存池)
- ios输入地址得出经纬度
- 程序员神器
- u-boot配置文件mkconfig分析
- Android Studio Mac版快捷键
- apache+php+mysql环境配置
- LeetCode——Summary Ranges