OC基础--OC中类的定义
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC基础--OC中类的定义相关的知识,希望对你有一定的参考价值。
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方法中的小括号“()”只是用来括住类型的
上代码!
1 // 为了能使用NSObject 2 #import <Foundation/Foundation.h> 3 4 // 设计(定义)一个车类 5 // @implementation 和 @end 6 // : NSObject :让Car这个类具备创建对象的能力 7 @implementation Car : NSObject 8 // 这个大括号里面只能写所有的属性 9 { 10 // @public:让对象的属性可以被外面的指针访问 11 @public 12 int wheels; // 轮子个数 13 double speed; // 时速 14 } 15 16 // 在@end的前面,大括号{}外面写行为 17 // 给Car对象增加一个行为(方法) 18 // 给对象增加一个行为,必须以减号 - 开头 19 // OC方法中的小括号()只是主要扩住类型 20 - (void) run 21 { 22 // 访问车子对象内部的属性,直接用属性名就可以 23 NSLog(@"%i个轮子,%f时速的车子跑起来了!", wheels, speed); 24 } 25 26 @end
二、OC中类的简单使用
注意事项:
1.想要执行一些行为(方法),别忘了中括号“[]”---[ 行为执行者 行为名称 ]
2.new 这个行为执行完毕后,会返回这个对象的地址--用到了结构体中利用指针修改类中属性的方法:
Car *c = [Car new];//创建Car对象,并返回指针
c->属性= ;//或者(*c).属性= ;
1 int main() 2 { 3 // 在OC中想执行一些行为,首先写个 [行为执行者 行为名称] 4 5 // 利用Car这个类,执行创建车子(new)的行为 6 // new这个行为执行完毕后,会返回这个对象的地址 7 // 定义了一个指向Car类型数据的指针变量c 8 // 指针变量c指向的是最新创建的车子对象 9 Car *c = [Car new]; 10 // 给c指向的车子对象的wheels属性赋值 11 c->wheels = 4; 12 c->speed = 300; 13 14 // 让内存的车子对象执行跑(run)这个行为 15 // 给指针变量c指向的对象发送一条run消息,让这个对象执行run这个行为 16 [c run]; 17 18 [c run]; 19 20 21 //NSLog(@"车有%i个轮子,时速%f km/h", c->wheels, c->speed); 22 23 return 0; 24 }
以上是关于OC基础--OC中类的定义的主要内容,如果未能解决你的问题,请参考以下文章