.h文件

@interface NewClassName:ParentClassName

{

实例变量;//基本类型和指针类型  不能在这里初始化,系统默认会初始化

系统初始化遵循:

实例变量类型  默认值

Byte      0

short     0

int     0

long  0L

char    \u0000'

float   0.0F

double   0.0D

Boolean   FALSE

pointer     nil

  ~~~~

}

方法的声明;

  ~~~~

- (void) method: (int) arguments;

- 表示实例方法

+表示类的方法

method是方法名 后跟的冒号很关键

@end

Example 1:

@interface Person:NSObject   //NSObject 是所有类的父类

{

int identify;

int age;

}

-(id) initWithAge:(int) _age identify: (int) _identify; //方法名 initWithAge:identify:

-(int) getIdentify;

-(int) getAge;

-(void) setAge:(int) _age;

+(Person *) sharePerson

@end

.m文件

@implementation NewClassName{

}

Example 2:

@implementation Person

-(id) initWithAge:(int) _age identify: (int) _identify

{  

  if(self = [super init])

  {

    age=_age;

    identify=_identify;

  }

}

方法调用(发送消息)

[类名 or 对象名 方法名]

[ClassOrInstance method1:arg1 method2:arg2];多参数的调用

[[ClassOrInstance method:arg1] otherMethod];消息嵌套

指针

NSString *s;

s=[[NSString alloc] initWithString:@"Hello Iphone"];

alloc 方法创建了一个NSString类型的对象,在堆区,动态分配内存,并用S指向它。

对象创建和使用

对象通过指针来声明  ClassA *object

对象的创建:

ClassA *cls=[ClassA alloc]; //使用alloc创建一个对象。编译器会分给这个对象一块可用的内存地址。

cls= [cls init] ;//需要对这个新对象调用 init方法

NSLog(@"cls %p",person); //打印内存地址

方法嵌套的形式创建对象

Person *person=[[Person alloc] init];

main

对象的初始化

一般初始化的方法名都init开头,并且成功完成初始化后,返回一个动态类型对象(id), 失败的话返回nil。

@interface C:NSObject

{

  int a;

   int b;

}

@end

【IOS】3. OC 类声明和实现的更多相关文章

  1. 【IOS学习基础】OC类的相关

    几天前突然在别人的类的.m文件中看到这么一句代码:@synthesize xxxx = _xxxx; 当时愣是没理解啥意思,过后才缓过神来发现原来是把一些类的基础知识忘记了,虽然不用过多去深究以前的一 ...

  2. 06 (OC)* iOS中UI类之间的继承关系

    iOS中UI类之间的继承关系 此图可以更好的让你去理解iOS中一些底层的关系.你能够了解以及理解UI类之间的继承关系,你会更加明白苹果有关于底层的东西,更有助于你的项目开发由它们的底层关系,就能更加容 ...

  3. iOS学习19之OC类的扩展

    为一个类扩展功能:1.子类化:2.修改源代码:3.定义协议:4.Category:类目 1.Category 1> Category的作用 Category:也叫分类,类目,是为没有源代码的类扩 ...

  4. 第一个OC类、解析第一个OC程序

    01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 ...

  5. iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误

    在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...

  6. OC基础:实例变量和成员变量的区别 分类: ios学习 OC 2015-06-14 17:59 16人阅读 评论(0) 收藏

    摘要:  Objective-C  引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢 ...

  7. OC 类簇与复合

    OC 类簇与复合 类簇: 类簇是Foundation框架中广泛使用的设计模式.类簇将一些私有的.具体的子类组合在一个公共的.抽象的超类下面,以这种方法来组织类可以简化一个面向对象框架的公开架构,而又不 ...

  8. Objective-c 总结(一):OC类的设计

    (一)学习目标: 1.面向对象基本概念: OOP的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题步骤中的行为. 2.熟悉OC类的定 ...

  9. 04:第一个OC类

    1.类与对象的关系 面向对象的核心就是对象,那怎么创建对象? OC中创建对象比较复杂, 首先要理解一个概念叫做类. 现实生活中是根据一份描述,一份模板创建对象,编程语言也一样,也必须先有一份描述,在这 ...

随机推荐

  1. jquery easyui Combobox 实现 两级联动

    具体效果如下图:

  2. phpcms v9 模板调用代码大全

    另:每个栏目会对应当前所选模型的三个模板文件:  这些模板文件所在位置:phpcms/templates/default/content/ 目录下,如果想修改模板文件,只需要到此目录下找到对应的模板文 ...

  3. BLE蓝牙的广播类型

    广播的类型一般分为四种,见如下表格: 1. 可连接的非定向广播(Connectable Undirected Event Type): 这是一种用途最广的广播类型,包括广播数据和扫描响应数据,它表示当 ...

  4. Qt系统托盘

    Qt的系统托盘的使用,可比mfc中好多了!他封装了一个专门的QSystemTrayIcon类,建立系统托盘图标.其实在Qt提供的示例程序已经很不错了,$QTDIR\examples\desktop\s ...

  5. ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法

    原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...

  6. How to pass selected records from form to dilog in AX 2012

    static void main(Args args) { FormDataSource formDataSource; ; if(args.record().TableId == tablenum( ...

  7. 利用Aspose.Word控件实现Word文档的操作

    Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...

  8. CentOS设置虚拟网卡做NAT方式和Bridge方式桥接

    CentOS设置虚拟网卡做NAT方式和Bridge方式桥接 http://www.centoscn.com/CentOS/config/2015/0225/4736.html 摘要:KVM虚拟机网络配 ...

  9. window.open下载文件ie8请求的站点不可用的解决办法

    在业务里用到了PHP header导出doc文档,GET传值到页面,读出相应数据输出doc文件下载.用户提出需要批量,于是设计成js循环出对应数量的window.open(),向页面传入不同的值,批量 ...

  10. [BS] 小知识点总结-04

    1. ios新知识学习思路: 在开发过程中如果遇到某种新需求以前从未做过,例如改变textField的Placeholder颜色,有如下思路和途径: 1.1 在Storyboard/Xib辅助编辑器A ...