【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中创建对象比较复杂, 首先要理解一个概念叫做类. 现实生活中是根据一份描述,一份模板创建对象,编程语言也一样,也必须先有一份描述,在这 ...
随机推荐
- 如何去掉delphi2010的欢迎界面(welcome page)
如何去掉delphi2010的欢迎界面(welcome page)方法一: 在电脑开始菜单下,找到delphi的快捷菜单,点击该菜单的属性,在“目标”的内容中,最后添加“-np”即可.如:D:\Win ...
- php读取memcahed java session
PHP 共享 JAVA 保存的session信息 情景: 1:现在有两个系统,一个是Java做的系统,一个是PHP的系统,现在要把两个系统弄成一个单点登录. 2:两个系统两个库,两个库的表结构完全不同 ...
- [dpdk] 读开发指南(1)
该文档是随着对于文档的阅读进度,不断增加的阅读笔记.主要内容以大纲为主,以及记录帮助记忆的内容. 在之后的实际应用中,也不随着不断的深入理解,逐渐丰富各大纲下面的内容. 1. 前期准备:设置两个环境变 ...
- ubuntu 制作deb 包
ubuntu下打包制作deb安装包 http://www.th7.cn/system/lin/201406/61012.shtml 2014-06-22 20:16:45CSDN-yangbing ...
- php比较加赋值语句
$a=-2;if ($a < 0 && $a = 1) { echo $a;} 输出1 右面的$a=1可不是条件哦,而是赋值
- Qt工具知多少(一目了然)
一级题目: Qt Designer — 所见即所得的界面设计工具, 可以用拖拽的方式将控件排布在界面上,支持layout, 支持signal/slot编辑. 生成的文件保存为ui格式, ui是xml格 ...
- SQLite.net发布后找不到"SQLite.Interop.dll"的问题
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki sqlite-netFx40-static-binary-b ...
- 位与(&)常用编程技巧
补充知识:1)正整数的补码与原码相同: 2)求负整数的补码:原码 符号位不变,数值位各位取反,最后整个数加1得到补码: 3)按位与& ...
- [LeetCode]题解(python):049-Groups Anagrams
题目来源 https://leetcode.com/problems/anagrams/ Given an array of strings, group anagrams together. For ...
- jQuery基本选择器
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...