OC中类的定义与使用跟C#和java差别相当明显,做个笔记,牢记并加以区别!

一、OC中类的定义:关键字@implementation 和 @end

注意事项:

1.定义好一个类之后,要让这个类继承NSObject这个类--是为了让自己定义的类能够具备创造对象的能力

2.继承NSObject后还不算完,NSObject的声明在Foundation框架中,所以--#import <Foundation/Foundation.h>

3.OC中定义的类中,类的属性和方法是分开写的--类的属性定义在“{}”中,再给类中的属性加访问修饰符的时候,只加一次,多个属性相同访问修饰符的时候不用写多次:

  例:

int no;

@public

int age;

float height;

以上属性中只有age 和 height 的访问修饰符是public

4.类中的行为(方法)的位置是在@end的前面,大括号“{}”的外面

5.给对象增加一个行为,必须以减号“-”开头

6.OC方法中的小括号“()”只是用来括住类型的

上代码!

 // 为了能使用NSObject
#import <Foundation/Foundation.h> // 设计(定义)一个车类
// @implementation 和 @end
// : NSObject :让Car这个类具备创建对象的能力
@implementation Car : NSObject
// 这个大括号里面只能写所有的属性
{
// @public:让对象的属性可以被外面的指针访问
@public
int wheels; // 轮子个数
double speed; // 时速
} // 在@end的前面,大括号{}外面写行为
// 给Car对象增加一个行为(方法)
// 给对象增加一个行为,必须以减号 - 开头
// OC方法中的小括号()只是主要扩住类型
- (void) run
{
// 访问车子对象内部的属性,直接用属性名就可以
NSLog(@"%i个轮子,%f时速的车子跑起来了!", wheels, speed);
} @end

二、OC中类的简单使用

注意事项:

1.想要执行一些行为(方法),别忘了中括号“[]”---[ 行为执行者  行为名称 ]

2.new 这个行为执行完毕后,会返回这个对象的地址--用到了结构体中利用指针修改类中属性的方法:

  Car *c = [Car new];//创建Car对象,并返回指针

  c->属性=  ;//或者(*c).属性=  ;

 int main()
{
// 在OC中想执行一些行为,首先写个 [行为执行者 行为名称] // 利用Car这个类,执行创建车子(new)的行为
// new这个行为执行完毕后,会返回这个对象的地址
// 定义了一个指向Car类型数据的指针变量c
// 指针变量c指向的是最新创建的车子对象
Car *c = [Car new];
// 给c指向的车子对象的wheels属性赋值
c->wheels = ;
c->speed = ; // 让内存的车子对象执行跑(run)这个行为
// 给指针变量c指向的对象发送一条run消息,让这个对象执行run这个行为
[c run]; [c run]; //NSLog(@"车有%i个轮子,时速%f km/h", c->wheels, c->speed); return ;
}

    

    

OC基础--OC中类的定义的更多相关文章

  1. OC基础--OC中类的声明与定义

    OC中设计一个类的步骤: 一.声明类: 1.用到的关键字--@interface 和 @end 2.类名 3.继承NSObject 4.属性 5.方法(行为,只需要声明) 二.实现(定义)类 1.用到 ...

  2. ios开发之OC基础-oc小程序

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  3. OC基础:OC 基本数据类型与对象之间的转换方法 分类: ios学习 OC 2015-06-18 20:01 11人阅读 评论(0) 收藏

    1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...

  4. OC基础--OC中的类方法和对象方法

    PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1 ...

  5. OC基础--OC内存管理原则和简单实例

    ARC: 由于自己的学习视频太早,Xcode是iOS6版本,新建命令行项目后,系统会默认启动ARC机制,全程Automatic Reference Counting,简单的说,就是代码中自动加入了re ...

  6. OC基础 类的三大特性

    OC基础  类的三大特性 OC的类和JAVA一样,都有三大特性:继承,封装,多态,那么我们就来看一下OC中类的三大特性. 1.继承 继承的特点: (1)子类从父类继承了属性和方法. (2)子类独有的属 ...

  7. OC基础-第1天

    #pragma mark - Day01_01_OC语言的历史(了解) 1) Objective - C 是一门面向对象的高级语言 2) Objective - C 简称 obj - C  \  OC ...

  8. OC基础 代理和协议

    OC基础 代理和协议 1.协议 (1)oc语言中得协议:一组方法列表,不需要我们自己实现,由遵守协议的类来实现协议所定制的方法. (2)协议的使用步骤:制定协议-->遵守协议-->实现协议 ...

  9. OC基础 点语法的使用

    OC基础 点语法的使用 1.创建一个Student类继承于NSObject,Student.h文件 #import <Foundation/Foundation.h> @interface ...

随机推荐

  1. Django项目中model增加了新字段怎样更新?

    Django是不直接支持syncdb更新数据库的字段的,必须重新建立. 或者改一个表名新建一个表... 刚刚想出来一招: 自己在表上面先加一个字段,然后再在model上面改,貌似是可以的.

  2. POJ 1754 Splay

    单点更新,区间最值,用来练Splay刚好. 将位置作为排序的规则,利用Splay不会改变顺序的特点,求某一段区间[l,r]的最值时,将l-1伸展到根,将r+1伸展到l-1的右子树,这时r+1的左子树就 ...

  3. java 15 -7 ListIterator 的特有方法

    列表迭代器:  ListIterator listIterator():List集合特有的迭代器 该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法. 特有 ...

  4. python 维吉尼亚

    加密key='COMPUTER' plaintext='BLOCKCIPHERDESIGNPRINCIPLE' ascii='abcdefghijklmnopqrstuvwxyz'.upper() k ...

  5. Could not publish server configuration for MyEclipse Tomcat v7.0. Multiple Contexts have a path

    Could not publish server configuration for Tomcat v6.0 Server at localhost. 经常在使用tomcat服务器的时候 总会发生一些 ...

  6. 加密算法使用(一):用CRC32来压缩32uuid字符串

    CRC32相比MD5重复率较高, 不过我们仍然可以使用CRC32然后转长整形的方式将32位的UUID字符串压缩成更短的整形唯一标识. /** * * @Title: getCRC32Value * @ ...

  7. OAF页面隐藏右上角的全局按钮(主页,注销等)

    OAPageLayoutBean page = pageContext.getPageLayoutBean(); page.prepareForRendering(pageContext); page ...

  8. m3u8字段意义解析

    m3u8字段意义解析 HLS,Http Live Streaming是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件 ...

  9. 2016温碧霞爱情《爱在深秋》HD720P.国语中字

    导演: 林家威编剧: 林家威 / 李非 / 黄国兆主演: 温碧霞 / 谭耀文 / 赵炳锐 / 方皓玟 / 王建成类型: 爱情制片国家/地区: 香港语言: 汉语普通话上映日期: 2016-01-22(中 ...

  10. 熟悉linux开发环境(实验)

    北京电子科技学院(BESTI) 实验报告 课程: 深入理解计算机系统 班级: 1353班 姓名:张若嘉 杨舒雯 学号:20135330 20135324 成绩: 指导教师:娄嘉鹏 实验日期:2015. ...