文档章节

Object-C代码练习【类别】

TomatosX
 TomatosX
发布于 2014/10/06 21:46
字数 292
阅读 21
收藏 0
点赞 0
评论 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
博文 143
码字总数 119547
作品 0
成都
iOS工程师
【objective-c】初次学习objective-c问题汇总... 【暂完,待修改错误】

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

小小M ⋅ 2013/06/26 ⋅ 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 ⋅ 2

objective-c 关键字和概念

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

绿月 ⋅ 2014/03/21 ⋅ 0

WPF Silverlight Visibility 属性的绑定

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

andrewniu ⋅ 05/30 ⋅ 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

yolo回归型的物体检测

发现一篇讲的非常棒的文章,就直接搬到了我的博客上: YOLO全称You Only Look Once: Unified, Real-Time Object Detection,是在CVPR2016提出的一种目标检测算法,核心思想是将目标检测转化为...

jinlong_xu ⋅ 2017/09/07 ⋅ 0

ios技术面试题

1.Difference between shallow copy and deep copy? 浅复制 只拷贝地址 不拷贝地址指向的对象 深复制 拷贝地址 并且指向拷贝的新对象 2.What is advantage of categories? What is differenc...

AmoyAI ⋅ 2012/12/08 ⋅ 0

Objective-C ---Category

Category:类扩展,就是给原有类的添加方法。 该例子给NSString添加一个属性(即添加setget方法) 类别。h中 @property (nonatomic,assign) NSInteger strID; 类别。m中 1.#import <objc/ru...

都英俊兮 ⋅ 2016/06/28 ⋅ 0

iOS进阶之runtime作用

图片来源于网络 前言 Runtime基本是用C和汇编写的,可见苹果为了动态系统的高效而作出的努力。你可以在这里下到苹果维护的开源代码。苹果和GNU各自维护一个开源的runtime版本,这两个版本之间...

DWade_Coding ⋅ 2017/10/09 ⋅ 0

CAM论文剖析(Learning Deep Features for Discriminative Localization)

英文原文请点这里 译文请点这里 文章内容剖析 实验代码在这里. 摘要 本文主要工作 1、阐述GAP如何使CNN具有卓越定位能力 2、证明了所提出网络能定位出“区别性”区域,且分类效果也不差 1 介...

刘开心_8a6c ⋅ 05/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 43分钟前 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 49分钟前 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 昨天 ⋅ 0

Confluence 6 重新获得站点备份文件

Confluence 将会创建备份,同时压缩 XML 文件后存储熬你的 <home-directory>/backups> 目录中。你需要自己访问你安装的 Confluence 服务器,并且从服务器上获得这个文件。 运行从 Confluence...

honeymose ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部