黑马程序员技术交流社区

标题: objc编写简单的类代码 [打印本页]

作者: iOSyinlixian    时间: 2016-4-6 00:11
标题: objc编写简单的类代码
用objective c编写了个简单的创建类实例并执行实例方法的代码。

本文示例选用的是mac osx下,application类型,command line tool,type是Foundation:



这个例子,从java的观点看,创建了一个Book类,类包含一个实例属性,name。有get和set方法。另外有个任意方法:

public void print()

在该方法中打印Book实例的name。

使用类的代码如下:

Book *book=[Book new];
book.name=@"三字经";
[book print];

这里,第一行相当于java里面的:

Book book=new Book();

第二行,类似:

book.setName(“三字经”);

第三行:

book.print();


其中第一行创建Book实例的代码,其实是由以下两行化简而来:

Book *book=[Book alloc];
book=[book init];



然后,说说创建Book类。在xcode中:



然后,选择创建objc class:



会自动创建book.h和book.m,前者是头文件,后者是实现代码。

在头文件中:

#import <Foundation/Foundation.h>

@interface Book : NSObject {
    NSString *name;
}

@property(retain) NSString *name;
-(void) print;

@end



给Book类增加一个name变量,NSString类型的。

声明它的set、get方法。记住要加retain,除非用自动垃圾回收。因为是为写ios程序做演示,因此手工内存释放。这里要用retain,为对象引用计数加1。

Book的实现代码

#import "Book.h"

@implementation Book

@synthesize name;

-(void) print{
    NSLog(@"书名:%@",name);
}

@end



这里要写@synthesize,对应头文件中的@property,另外,增加了一个print方法,打印日志。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2