文档章节

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
Blender 源码学习--Operator

Blender 的 c 语言 api 与 python api 颇为相似。[感觉像Python的超级扩展] Mesh Subdivide 下面是对 blender 中的 mesh subdivide operator 代码的分析 Registration 首先我们需要在 wind...

openthings
2015/01/28
0
2
WPF Silverlight Visibility 属性的绑定

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

andrewniu
05/30
0
0
Javascript中DOM技术的的简单学习

第十四课 DOM技术概述 1:DOM概述   文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。 DOM是一...

别叫小伙
2016/08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kubernetes里的secret最基本的用法

Secret解决了密码、token、密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中。 Secret可以以Volume或者环境变量的方式使用。 使用如下命令...

JerryWang_SAP
昨天
1
0
可重入锁和非可重入锁

广义上的可重入锁指的是可重复可递归调用的锁,在外层使用锁之后,在内层仍然可以使用,并且不发生死锁(前提得是同一个对象或者class),这样的锁就叫做可重入锁。 可重入锁: ReentrantLoc...

狼王黄师傅
昨天
1
0
2018-11-20学习笔记

1. python数据类型: 给变量赋值什么样的值,变量就是什么样的类型 给变量赋值整数,变量就是整数类型 给变量赋值字符串,变量就是字符串类型 123 和“123”一样吗? 在python中 单引号 与双...

laoba
昨天
1
0
使用 React 和 Vue 创建相同的应用,他们有什么差异?

在工作中应用 Vue 之后,我对它有了相当深刻的理解。 不过,俗话说「外国的月亮比较圆」,我好奇「外国的」 React 是怎么样的。 我阅读了 React 文档并观看了一些教程视频,虽然它们很棒,但...

阿K1225
昨天
2
0
2天闭门培训|以太坊智能合约从入门到实战(北京)

2天培训 16个课时 探寻技术原理,精通以太坊智能合约开发 以太坊智能合约是现在应用的最广泛的区块链应用开发方式,HiBlock区块链社区针对以太坊智能合约的学习特别推出2天闭门研修班,通过2...

HiBlock
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部