文档章节

OC之OC的类

feng_blog
 feng_blog
发布于 2015/08/31 15:42
字数 677
阅读 21
收藏 1

比如,定义一个类名为Car的类,类的声明(类的声明通常写在头文件中,即.h文件中,也可直接写在.m文件中)

// NSobject可以让类有创建对象的能力

@interface Car : NSobject

{

//声明对象属性

@public   //是成员变量变成共有的,其下所有成员变量都将变成共有的,当然也可以在每个成员变量上都加@public

//【备注】实际开发中成员变量应以下划线”_”开头。

intspeed;//Carspeed属性(成员变量),只可声明,不可赋值。

intwheels;// Carwheels属性(成员变量),只可声明,不可赋值。

}

//方法(也叫行为):方法名、参数、返回值、(声明、实现),方法不能写在大括号里面,方法定义前必须以减号或加号开头,方法类型要用小括号括住。当方法没有参数时方法名后一定不要加小括号。如果有参数,则可写成-(void) run:(int)num;即增加了一个int类型的参数num,注意小括号只能用来括类型。一个参数就写一个。调用时应为:[p run:10]pCar的指针。

-        (void) run;//空函数,OC中方法实现必须在类的实现中@implementation Car@end 之间写

@end//不能省略

类的实现(通常写在.m文件中):

@implementation Car

//定义类中的run方法内容

-        (void) run

{

NSLog(@”车子跑起来了,时速为%d”,speed)

}

@end//不能省略

int main()

{

/*OC中,想调用一个,就写上一个中括号[行为执行者行为名称]

利用类来创建对象*/

//执行了Car类的new行为来创建对象,定义了一个指针变量pp将来指向的是Car类型的对象

Car *p = [Car new];

P -> speed = 4;//给对象的speed属性赋值。

//p指向的对象发送一条run消息,即调用run方法

[Car new]->speed = 4;//通过匿名对象进行赋值

[p run];

[[Car new] run];//通过匿名对象访问方法

return 0;

}

【备注】C语言语法格式的函数可以写在任何位置

每个类中都有一个isa指针,这个指针用来指向父类。

OC带参数的方法:- (int) run:(int)a :(int)b;第二个冒号前一定要有空格(调用时:[p run:10 :5])。但是实际开发中为了可读性并不这样写。而是将方法写成:- (int)sumwithNum1:(int)num1andNum2:(int)num2;

方法内容可写为:

- (int)sumwithNum1:(int)num1andNum2:(int)num2

{

    return num1+num2;

}

调用方法可写为:

         [p sumwithNum1:10andNum2:5];//p为方法所在类的指针


版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/u013378266/article/details/48133595

feng_blog

feng_blog

粉丝 119
博文 130
码字总数 105422
作品 3
朝阳
iOS工程师
私信 提问
Swift2.0与OC混编实验--动态库(一)

完整的Demo下载 做了以下几个实验 验证Swift和OC的项目可以使用任意语言开发的动态库 1、创建了一个Swift语言的动态库 2、创建了一个OC语言的动态库 3、创建了一个SwiftApp项目,在项目中同时...

泊竹
2016/01/17
458
0
rattan/OCBridgeSwiftToCall

OCBridgeSwiftToCall[OC与swift的数据传输] ##简介 该项目主要介绍了oc与swift之间、swift内部几种常见的传值方式(属性传值、代码块传值、代理传值、通知) 如果oc与swift之间的桥接有疑问请...

rattan
04/19
0
0
Object-C基础-01-概述

回到顶部 前言 目前来说,Objective-C(简称OC)是iOS开发的核心语言,在开发过程中也会配合着使用C语言、C++,OC主要负责UI界面,C语言、C++可用于图形处理。近来,流传Ruby、C#也可以开发iOS...

Corwien
2016/03/16
39
0
Swift实际开发中遇到的小问题

从上周开始, 正式使用Swift语言进行实际项目的开发, 虽然之前Swift的语法已经了解过, 并且写过几个简单的小Demo, 但是在实际应用到了公司项目中还是遇到了一些小问题. 主要是Swift与OC语法对...

Sunxb
2016/12/02
0
0
一、Objective-C概述

说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C。如果你还没有编程经验,或者对Objective-C、iOS开发不感兴趣,请忽略...

长平狐
2013/03/28
146
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
今天
58
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
今天
27
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
今天
61
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
今天
57
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
今天
58
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部