【IOS】3. OC 类声明和实现
.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 类声明和实现的更多相关文章
- 【IOS学习基础】OC类的相关
几天前突然在别人的类的.m文件中看到这么一句代码:@synthesize xxxx = _xxxx; 当时愣是没理解啥意思,过后才缓过神来发现原来是把一些类的基础知识忘记了,虽然不用过多去深究以前的一 ...
- 06 (OC)* iOS中UI类之间的继承关系
iOS中UI类之间的继承关系 此图可以更好的让你去理解iOS中一些底层的关系.你能够了解以及理解UI类之间的继承关系,你会更加明白苹果有关于底层的东西,更有助于你的项目开发由它们的底层关系,就能更加容 ...
- iOS学习19之OC类的扩展
为一个类扩展功能:1.子类化:2.修改源代码:3.定义协议:4.Category:类目 1.Category 1> Category的作用 Category:也叫分类,类目,是为没有源代码的类扩 ...
- 第一个OC类、解析第一个OC程序
01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 ...
- iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...
- OC基础:实例变量和成员变量的区别 分类: ios学习 OC 2015-06-14 17:59 16人阅读 评论(0) 收藏
摘要: Objective-C 引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢 ...
- OC 类簇与复合
OC 类簇与复合 类簇: 类簇是Foundation框架中广泛使用的设计模式.类簇将一些私有的.具体的子类组合在一个公共的.抽象的超类下面,以这种方法来组织类可以简化一个面向对象框架的公开架构,而又不 ...
- Objective-c 总结(一):OC类的设计
(一)学习目标: 1.面向对象基本概念: OOP的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题步骤中的行为. 2.熟悉OC类的定 ...
- 04:第一个OC类
1.类与对象的关系 面向对象的核心就是对象,那怎么创建对象? OC中创建对象比较复杂, 首先要理解一个概念叫做类. 现实生活中是根据一份描述,一份模板创建对象,编程语言也一样,也必须先有一份描述,在这 ...
随机推荐
- common.js
//检测浏览器 function checkb(){ var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua. ...
- gcc的-D和-U参数:宏的设置与取消
http://blog.chinaunix.net/uid-7213338-id-2658068.html gcc的-D和-U参数:宏的设置与取消 2006-10-08 22:59:06 分类: L ...
- 面向对象之struct
struct PointStruct { int pointx = 1; int pointy = 2; public PointStruct(int x, int y) { this.pointx ...
- 低功耗蓝牙BLE [学习笔记]
手机设备会区分 "connecting" and "pairing" ,前者可以自动连接,后者则需要请求.BLE不再有pairing的麻烦,能直接连上目标设备, ...
- LightOj1190 - Sleepwalking(判断点与多边形的位置关系--射线法模板)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1190 题意:给你一个多边形含有n个点:然后又m个查询,每次判断点(x, y)是否在多边 ...
- Partial Tree---hdu5534(完全背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5534 题意:有n个节点,让这n个节点形成一棵树,这棵树的种类有很多种,现在告诉n-1个f[i],表示度 ...
- emmc boot1 boot2 partition
使用mfg tool烧写android5.1的镜像之后,再使用旧版的mfg tool烧写linux或者android镜像,都不能正常启动,而且运行的uboot还是android5.1版本的uboot. ...
- 深入理解Redis主键失效原理及实现机制
http://blog.jobbole.com/71095/ 对于缓存失效,不同的缓存有不同的处理机制,可以说是大同中有小异,作者通过对Redis 文档与相关源码的仔细研读,为大家详细剖析了 Redi ...
- iOS: 讯飞语音的使用
一.介绍: 讯飞语音做的相当不错,容错率达到90%多,如果需要做语音方面的功能,它绝对是一个不错的选择.讯飞语音的功能很多:语音听写.语音识别.语音合成等,但我们最常用的还是语音听写.讯飞语音中包含界 ...
- 3.IP地址分类_规划_子网掩码
IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...