.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. 高级 Synth

    http://www.ibm.com/developerworks/cn/java/j-synth/

  2. Ubuntu apparmor何方神圣

    AppArmor 是一款与SeLinux类似的安全框架/工具,其主要作用是控制应用程序的各种权限,例如对某个目录/文件的读/写,对网络端口的打开/读/写等等. 来之Novell网站的引用: AppAr ...

  3. 巧用AWK处理二进制数据文件

    AWK是Unix下的一款功能强大的文本格式化和抽取工具.利用这个工具,可以对复杂的文本文件进行整理,提取其中的全部或者部分数据,按照需要的格式予以显示.需要说明的是,AWK的强大功能只针对纯文本文件. ...

  4. SQL Server批量数据导出导入Bulk Insert使用

    简介 Bulk insert命令区别于BCP命令之处在于它是SQL server脚本语句,它可以将本地或远程的文件数据批量导入数据库,速度非常之快:远程文件必须共享才行, 文件路径须使用通用约定(UN ...

  5. java编程技巧

    欢迎提出建议指出错误互相交流. 1.统计对象数量,比如统计一共发射了多少颗子弹. public class Bullet { public static int count = 0; public B ...

  6. [LeetCode] Sudoku Solver(迭代)

    Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ...

  7. JavaScript实现在文本框中输入空格时自动填写某个值

    <script language="javascript" type="text/javascript"> var txtText4 = " ...

  8. Object转换为json格式

    public String toJSONString(Object obj)     {              SerializeWriter serializewriter = new Seri ...

  9. PaySignKey

    关键词:微信支付 PaySignKey 原文:http://www.cnblogs.com/txw1958/p/weixin-paysignkey.html 微信支付现在分为v2版和v3版 2014年 ...

  10. 内存映射文件mmap

    1.  mmap mmap可以把磁盘文件的一部分直接映射到内存,这样文件中的位置直接就有对应的内存地址,对文件的读写可以直接用指针而不需要read/write函数.使用内存映像文件的另一个优点是可以共 ...