转 OC之OC的类

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

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

@interface Car : NSobject

{

//声明对象属性

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

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

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

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

}

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

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

@end//不能省略

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

@implementation Car

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

-        (void) run

{

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

}

@end//不能省略

int main()

{

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

利用类来创建对象*/

//执行了Car类的new行为来创建对象,定义了一个指针变量p,p将来指向的是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为方法所在类的指针

时间: 2024-10-27 07:45:02

转 OC之OC的类的相关文章

OC:打僵尸问题(类的问题)

1.定义普通僵尸类:  实例变量:僵尸种类.僵尸总血量.僵尸每次失血量.  方法:初始化方法(设置僵尸种类,总血量).被打击失血.死亡.    2.定义路障僵尸类:  实例变量:僵尸种类.僵尸总血量.僵尸每次失血量,道具,弱点.   方法:初始化方法(设置僵尸种类,总血量).被打击失血.失去装备.死亡. 3.定义铁桶僵尸类:   实例变量:僵尸种类.僵尸总血量.僵尸每次失血量,道具,弱点.   方法:初始化方法(设置僵尸种类,总血量).被打击失血.失去装备.死亡. 4.在main.m中创建普通僵

iOS - OC SingleClass 单例类

前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到. 在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为.比如在 APP 开发中我们可能在任何地方都要使用用户的信息,那么可以在登录的时候就把用户信息存放在一个文件里面,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这

015-OC基础语法-OC笔记

学习目标 1.[了解]Objective-C语言简介 2.[掌握]第一个OC程序 3.[掌握]OC中的字符串 4.[熟悉]OC中的一些玩意 5.[了解]面向过程与面向对象 6.[掌握]类的声明和实现 7.[掌握]类的方法 一.Objective-C语言简介 Objective-C简称Obj-C或者OC,Objective的意思就是面向对象的.OC其实就是在C语言的基础之上,封装了一层面向对象的语法,他并不是一门全新的编程语言.OC是Mac OS X系统和iOS系统的主要开发编程语言,当然马上要被

OC语言大总结(上)

根据OC学习的知识点,总结了一下,希望能帮到大家! 作者:韩俊强  未经允许,请勿转载! 关注博主:http://weibo.com/hanjunqiang 第一节类于对象   类与对象http://blog.sina.com.cn/s/blog_814ecfa90102vtum.html 知识点 注意事项 面向对象编程 OOP(Object Oriented Programming) 面向对象语言 C++,Java,C#,OC,Swift 概念 类,对象,封装,继承,多态... 面向过程编程

Swift OC混编

swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编.这个在IOS8中是允许的. 先中简单的入手,先研究在同一个工程目录下混合使用的情况. 为了演示.先准备两个类 第一个是swift语言写的类,文件名为 act.swift [cpp] view plaincopy import Foundation      class Act : NSObject   {       fun

Objective C Programming( OC ) 语法特点总结

移动市场是块巨大的迅速的,发展的市场,我看好它.IOS中OC是很重要的语言,通过看<Objective C Programming>,能让我对OC有个大概的了解.为了加深印象,特于此加以总结. OC是源于SmallTalk的,起源甚至比C++还早.其直接父系语言为C语言. OC通过@interface-@end以及@implementation-@end来实现类声明和定义. OC中类一般至少继承与Object类 OC中所有的类对象必须动态申请,也就是说没有局部变量这么一说. OC中类没有所谓的

OC方法和文件编译

一.OC方法 (一)对象方法 (1)对象方法以-开头如 -(void)xx; (2)对象方法只能又对象来调用 (3)对象方法中可以访问当前对象的成员变量 (4)调用格式 [对象名 对象方法名]: (5)设计一个学生类和狗类,练习对象方法的使用. 学生类的声明: 学生类的实现: 狗类的声明: 狗类的实现: 主程序: (二)类方法 (1)类方法以+开头 如+(void)put; (2)类方法只能由类来调用 (3)类方法中不能访问实例(成员)变量,因为类方法又类来调用,并没有创建存储空间来存储类中的成

iOS开发之用javascript调用oc方法而非url_IOS

先来看看如何在项目中的webview上面点击一个按钮,就能达到调用oc代码 上面的这个页面是webview里面嵌套的一个项目的网页,打印订单点击之后(点击事件是一个js方法),需要调用oc里面集成好的蓝牙打印机功能,来完成打印. 所以这里只能用js代码来直接调用oc代码. 1.首先创建一个iOS类,因为这里一般都需要安卓端做一套,iOS端做一套,所以一般这样命名以示区别 .h #import <Foundation/Foundation.h> #import <JavaScriptCor

iOS - OC 与 Swift 互相操作

前言 在 Swift 语言中,我们可以使用 Objective-C.C 语言编写代码,我们可以导入任意用 Objective-C 写的 Cocoa 平台框架.Objective-C 框架或 C 类库. 1.在 Swift 中使用 Objective-C.C 代码 1.1 在 Swift 项目中使用 Objective-C.C 代码 1> 在 Swift 项目中创建 OC/C 的 .h 和 .m / .c 文件,文件中的格式为其本有的格式. 2> Xcode 提示是否创建 Objective-C