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中类的定义的主要内容,如果未能解决你的问题,请参考以下文章

OC基础--构造方法

IOS学习基础OC类的相关

转 OC温故:类的三大特性(封装,继承,多态)

Objective-C学习1

IOS开发-OC学习-常用功能代码片段整理

oc中的oop基础及类的基本介绍