Objective-C一个简单类应该有哪些部分,何如写?
来源:互联网 发布:大数据时代与广告 编辑:程序博客网 时间:2024/04/27 14:39
首先还是以Book这个类为例子,下面分别是Book.h文件,Book.m文件,main.m文件,和实现结果.
Book.h文件
至于属性property里面的nonatomic,assign,retain什么含义点击打开链接有具体解释
#import <Foundation/Foundation.h>@interface Book : NSObject//创建两个属性name和author,创建属性后系统会自动生成setter和getter方法@property(nonatomic, retain)NSString * name;@property(nonatomic, retain)NSString * author;//指派初始化- (id)initWithName:(NSString *)name;- (id)initWithAuthor:(NSString *)author;- (id)initWithName:(NSString *)name Author:(NSString *)author;//便利构造器+ (id)bookWithName:(NSString *)name;+ (id)bookWithAuthor:(NSString *)author;+ (id)bookWithName:(NSString *)name Author:(NSString *)author;//dealloc 当对象引用计数器retaincount为0时 将调用dealloc销毁对象- (void)dealloc;//API- (void)bookByIntroduction;@endBook.m文件
#import "Book.h"@implementation Book//指派初始化- (id)initWithName:(NSString *)name { self = [self initWithName:name Author:nil]; //设置统一初始化入口 return self;}- (id)initWithAuthor:(NSString *)author { self = [self initWithName:nil Author:author]; ////设置统一初始化入口 return self;}- (id)initWithName:(NSString *)name Author:(NSString *)author { self = [super init]; //初始化父类对象给自己 if (self) { //对象不为空 [self setName:name]; //setter方法存入对象 [self setAuthor:author]; } return self;}//便利构造器+ (id)bookWithName:(NSString *)name { Book * book = [[Book alloc] initWithName:name]; return [book autorelease];}+ (id)bookWithAuthor:(NSString *)author { Book * book = [[Book alloc] initWithAuthor:author]; return [book autorelease];}+ (id)bookWithName:(NSString *)name Author:(NSString *)author { Book * book = [[Book alloc] initWithName:name Author:author]; return [book autorelease];}- (void)dealloc { [_name release]; //对象销毁时 将setter里的retain,release掉 [_author release]; [super dealloc]; //将init初始化中 继承的父类的对象销毁}//API- (void)bookByIntroduction { NSLog(@"This book name is %@ and author is %@", _name, _author);}@endmain.m文件
#import <Foundation/Foundation.h>#import "Book.h"int main(int argc, const char * argv[]) { @autoreleasepool { Book * book = [Book bookWithName:@"吴承恩" Author:@"西游记"]; //便利构造器 [book bookByIntroduction]; } return 0;}
0 0
- Objective-C一个简单类应该有哪些部分,何如写?
- Objective-C有哪些内存管理方法?
- Objective-C-一个简单的类
- 一个好的测试管理平台应该有哪些功能?
- objective-c文件操作的方法有哪些
- 用c写一个简单json处理器之具体实现,应该可能会不断完善吧(三)
- 【Objective-C】01-一个简单OC类的浅析
- 一个最简单的Objective C 程序
- 一个男人应该做哪些
- Objective C的编译器有哪些,如何搭建Windows/linxu下OBJ-C环境(大全)
- 【互联网思维】成为一个具有优秀互联网思维的人应该看的书籍有哪些?
- 如何利用Objective-C写一个精美的DSL
- Objective-C 和 C++ 的区别有哪些?为什么苹果会选择前者?
- BaseActivity 里到底应该写哪些内容?
- 做为ERP组长应该有哪些职责?
- 有哪些问题应该得到解决?
- 用C写一个简单病毒
- 用C写一个简单病毒
- C#经典排序
- Maven-添加jar包到本地/远程仓库
- shell的面试题
- (三)Tomcat源码解析 - Tomcat基础知识介绍
- html5入门
- Objective-C一个简单类应该有哪些部分,何如写?
- 在Maven Central发布了自己的第一个开源项目
- 关于oracle中varchar2的最大长度
- MyEclipse快捷键大全
- 走进swfit(五)OC调用Swift
- C# 线程同步(1)- 临界区&Lock
- 数组排序
- 尝试进行recover datafile时报告下列错误:ORA-00283 ORA-01115 ORA-01110 ORA-27069 OSD-04026
- SQL中EXISTS和IN用法