文档章节

Object-C代码练习【类别】

TomatosX
 TomatosX
发布于 2014/10/06 21:46
字数 292
阅读 21
收藏 0
//
//  main.m
//  类别
//
//  Created by on 14-10-6.
//  Copyright (c) 2014年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Person *person = [Person personWithName:@"jack"];
        [person eat];
        [person sleep];
        [person play];
        NSLog(@"Person's name is: %@", [person name]);
    }
    return 0;
}
//
//  Person.h
//  类别
//
//  Created by on 14-10-6.
//  Copyright (c) 2014年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    NSString *name;
    int age;
}

- (void) test;
- (NSString *) name;
- (int) age;

@end

@interface Person (Creation)

+ (id) personWithName:(NSString *)_name;
+ (id) personWithName:(NSString *)_name withAge:(int)_age;

- (id) initWithName:(NSString *)_name;
- (id) initWithName:(NSString *)_name withAge:(int)_age;

@end

@interface Person (Life)

- (void) eat;
- (void) sleep;
- (void) play;

@end
//
//  Person.m
//  类别
//
//  Created by on 14-10-6.
//  Copyright (c) 2014年 apple. All rights reserved.
//

#import "Person.h"

@implementation Person

- (void) test {
    NSLog(@"Person本类的方法");
} // test

- (NSString *) name {
    return name;
} // getName

- (int) age {
    return age;
} // getAge

@end

@implementation Person (Creation)

+ (id) personWithName:(NSString *)_name {
    Person *person = [[Person alloc] init];
    person->name = _name;
    return person;
} // personWithName

+ (id) personWithName:(NSString *)_name withAge:(int)_age {
    Person *person = [[Person alloc] init];
    person -> name = _name;
    person -> age = _age;
    return person;
} // personWithName:withAge:

- (id) initWithName:(NSString *)_name {
    if (self = [super init]) {
        name = _name;
    }
    return self;
} // initWithName

- (id) initWithName:(NSString *)_name withAge:(int)_age {
    if (self = [super init]) {
        name = _name;
        age = _age;
    }
    return self;
} // initWithName:withAge:

@end

@implementation Person (Life)

- (void) eat {
    NSLog(@"正在吃饭");
} // eat

- (void) sleep {
    NSLog(@"正在睡觉");
} // sleep

- (void) play {
    NSLog(@"正在玩耍");
} // play

@end

© 著作权归作者所有

共有 人打赏支持
TomatosX
粉丝 22
博文 207
码字总数 119547
作品 0
成都
iOS工程师
【objective-c】初次学习objective-c问题汇总... 【暂完,待修改错误】

---------------------------------------------------------------------------------------- 这本书,我已经看过两遍,那两遍都是在买mac pro之前看的,目的是...因为语法怪怪的很有趣。 ...

呢喃的猫咪
2013/06/26
0
2
关于java向下类型转换的问题

在C:Program FilesJavajdk1.7.0srcjavalangString.java文档中有一下代码: public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof St......

沒有主角
2012/08/28
739
2
WPF Silverlight Visibility 属性的绑定

Silverlight 控件的Visibility属性不能直接用true或者false绑定,而是要通过一个Converter来实现: VisibilityConverter类代码: 在XAML里引用这个类: 其中: XSZJ_VISABLE 是bool 类型,=...

andrewniu
05/30
0
0
RCNN学习笔记(6):You Only Look Once(YOLO):Unified, Real-Time Object Detection

Reference link: http://blog.csdn.net/tangwei2014 这是继RCNN,fast-RCNN 和 faster-RCNN之后,rbg(Ross Girshick)大神挂名的又一大作,起了一个很娱乐化的名字:YOLO。 虽然目前版本还有...

u011534057
2016/04/25
0
0
objective-c 关键字和概念

objective-c 关键字和概念 - ithero_zhou的专栏 - 博客频道 - CSDN.NET 关键字 @ 看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。 @interface 声明类 @i...

绿月
2014/03/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部