黑马程序员_iso入门基础学习_OC语言day1
来源:互联网 发布:李明 沈超 linux 视频 编辑:程序博客网 时间:2024/05/29 17:24
#import <Foundation/Foundation.h>//1.类的声明:例如Car类//声明对象的属性和行为@interface Car :NSObject//继承NSObject 使Car类实现具有创建对象的能力{//成员变量默认初始化为0 @public //@public 后面的成员变量可以被外部指针间接的访问int wheels; //轮子个数int speed; //时速}//方法的声明只能写在interface代码块中,并且写在声明成员变量的大括号外面// 方法(行为):方法名、参数、返回值(声明、实现)// 只要是OC对象的方法,必须以减号 - 开头// OC方法中任何数据类型都必须用小括号()扩住// OC方法中的小括号():括住数据类型- (void) run;@end//2.类的实现 只用来实现方法@implementation Car- (void) run{ //方法的具体实现 NSLog(@"车子跑起来啦");}@endint main(){ // 在OC中,想执行一些行为,就写上一个中括号[行为执行者 行为名称] // 利用类来创建对象 // 执行了Car这个类的new行为来创建新对象 Car *p; //定义一个Car类型的指针变量p,只能够指向Car类型的对象 p=[Car new];//创建一个Car类的对象,并且返回对象本身地址给了p指针。 //以上也可以合并成一句Car *p=[Car new]; p->wheels=5; //需要在定义成员变量的前面加上@public才能够访问。 p->speed=120; [p run]; //向指针变量p所指向的Car的对象发一条run的指令或者说消息 NSLog(@"%p",p); NSLog(@"这辆车有%d个轮子,时速是%dkm/h",p->wheels,p->speed); return 0;}
objective-c相对于C语言:
1.源文件 后缀为m或者mm
完全兼容C语言的语法,也就是C语言可以直接写在m或者mm的文件中编译。
2.目标文件,编译后的目标文件都是.o文件
3.链接后产生的可执行文件默认都是a.out
4.屏幕输出语句:
C语言:printf 需要#include <stdio.h>
OC语言:NSLog 需要#import <Foundation/Foundation.h>
Foundation是一个框架,所以如果OC代码中有包含了这个框架,则编译的时候加上-framework Foundation。
NSLog接收OC字符串,格式@"字符串"。NSLog在输出完毕后会自动换行,而printf不会。
其中#import相当于C语言当中的#include,但是#import可以防止文件内容被多次拷贝。
5.OC相对于C多了一个BOOL类型
BOOL两种取值:
YES NO 都是大写 ,也可以当整数,YES 为1 ,NO 为0
BOOL的本质是signed char:typedef signed char BOOL
/* 设计人类 类名:Person 属性:体重 年龄 行为: 走路 *//* 1.类的声明 { 声明成员变量 } 声明方法 */#import <Foundation/Foundation.h>@interface Person : NSObject{ @public int age; double weight;}- (void)run;@end/* 2.类的实现,方法的实现 */@implementation Person- (void)run{ NSLog(@"%d岁的人走路",age);}@end/* 3.创建对象 */int main(){ Person *p=[Person new]; p->age=20; p->weight=70; [p run]; return 0;}/* 对象中的成员变量是每个对象独占一份的。 方法是多个对象共有的。 每个对象默认都有一个指向该对象所属类的指针isa。 当程序法一条消息给某个对象,让它执行某个功能的时候,这个对象会根据isa指针指向的类中去 查找是否有这个方法,并且执行。 */
0 0
- 黑马程序员_iso入门基础学习_OC语言day1
- 黑马程序员_iso入门基础学习_C语言day5
- 黑马程序员_iso入门基础学习_C语言day6
- 黑马程序员_iso入门基础学习_C语言day7
- 黑马程序员_OC基础06_OC语法
- 黑马程序员-基础学习之day1-day2
- 黑马程序员_OC关键字学习
- 黑马程序员_OC语言的分类
- 黑马程序员_OC语言的Foundation 上
- 黑马程序员_OC语言的Foundation 下
- 黑马程序员_OC基础05_SEL
- 黑马程序员_OC基础05_分类
- 黑马程序员_OC基础09_block
- 黑马程序员_OC基础10_Protocol协议
- 黑马程序员_OC中的Foundation框架学习
- 黑马程序员_OC中的协议学习
- 黑马程序员_OC中的代码块学习
- 黑马程序员_OC学习之点语法
- CentOS 下面搭建SVN服务器
- spring aop 整理
- Android启动浏览器
- 2015届美团笔试
- 【Axure手机原型】手机产品的规划和设计
- 黑马程序员_iso入门基础学习_OC语言day1
- ios及安卓画图形
- python中将普通对象作为 字典类(dict) 使用
- Singleton VS Monostate
- 全排列的六种算法
- Java事务(一) - 概述
- 关于子类化
- window8 64位 + Oracle 12c 64位下使用PL/SQL Developer 的解决办法
- iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?