OC和C的一些区别

OC和C的一些区别


Nslog会自动换行,会在输出时附加一些系统信息

```

/**

import的功能和include的功能一样

为了降低程序员的负担,防止重复导入,

OC给出来一个新的预处理指令impor

import优点:会自动防止重复拷贝

*/

#include

/*Foundation.h称为主头文件,

只需要导入主头文件就可以使用该工具箱中的所有工具

*/

#import

intmain(intargc,const char* argv[]) {

return0;

}

类与对象的关系

房子图纸->房子,也就是说想创建对象先创建类

例:

描述生活中的事物

(类名):Person(人)

属性:height,age

行为:run,sleep

oc中用类来描述事物也是如此

属性:对应类中的成员变量。

行为:对应勒种的成员方法

如何分析一个类

一般名词都是一个类

妹子穿了比基尼戴了墨镜,妹子一个类,比基尼是个类,墨镜是个类

妹子的属性:高矮胖瘦,是不是美女

妹子的行为:跑跳睡觉

比基尼的属性:三点式

比基尼的行为:遮挡私密

墨镜的属性:墨镜多大,镜片颜色

墨镜的行为:遮挡阳光

创建一个oc类

#import

/**

1.编写一个类

以@interface开头,以@end结尾,class name对应的地方写上

事物名称,也就是类名即可

注意:类名的首字符必须大写

声明一个类的目的就是为了告诉系统,我们这个类中有哪些属性和行为

oc类声明中属性只能写在@interface和@end{}中

注意:编写oc类属性的时候,建议将斯所有属性的名称前面都加上_下划线

*/

@interfaceComputer :NSObject

{

//默认情况下,oc中的属性不能直接访问

@public//只要让类中的属性公开,以后就可以直接通过一个指向结构体的指针来操作对象中的属性

float_model;

int_cpu;

double_size;

}

@end

/**

2.如何编写类的实现

以@implemtation开头,以@end结束,然后在class对应的地方写上声明时声明的类的名称,必须和声明的类名一模一样

*/

@implementationComputer

//行为的实现

@end

intmain(intargc,const char* argv[]) {

//如何通过一个类来创建对象

//在oc中想要通过一个类来创建一个对象,必须给类发送一个消息

//如何发送消息? 在oc中只要想要发送消息就先写上 【类名称/对象方法

方法名称】;

//发送什么消息(和c中的调方法意思一样)

/**

只要通过一个类调用类的new方法,也就是给类发送一个叫做new的消息之后系统内部就会做三件事

1.为Computer类创建出来得对象分配存储空间

2.初始化Computer类创建出来得对象中的属性

3.返回Computer类创建出来得对象对应的地址

*/

//通过一个Computer类型的指针接收了Computer对象的地址

//如果使用给一个指针保存了某一个对象的地址,那么我们就成这个指针位置为某个类型的对象

//利用Computer类型的指针保存了Computer对象的地址,那么我们就Computer类型指针p为Computer对象

Computer*com = [Computernew];


com->_cpu=2;

com->_size=2.333;

com->_model=3.33333;

NSLog(@"_cpu = %i \n

_size = %lf\n _model = %f\n",com->_cpu,com->_size,com->_model);

/**

_cpu = 2

_size = 2.333000

_model = 3.333330

*/

//oc中的类其实本质就是一个结构体,所以p这个指针其实就是指向了一个结构体

return0;

}

```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容