小白学开发(iOS)OC_ 使用继承来扩充类(2015-08-07)
//
// main.m
// 使用继承来扩充类
//
// Created by admin on 15/8/12.
// Copyright (c) 2015年 admin. All rights reserved.
//
/*
当在一个类中有太多的方法会显得很复杂。为了清楚表示。我们能够创建类的一个分类(category)来扩充这个类
在其它面向对象语言中,使用继承关系类扩充一个类。然而这样最大的坏处就是耦合性太高
OC使用(category)来扩充一个类
注意:1.
仅仅要在原类中生成的成员变量(私有变量除外)在分类中都可直接訪问
2. 假设在分类中定义实现类了与原类同名的方法,那么原类中的方法相当于被覆盖掉了(实际开发中。最好不要出现方法覆盖)
3. 不能在分类中定义成员变量,仅仅能添加方法
*/
#import <Foundation/Foundation.h>
#import "Person.h"
#import "Person+BlackPerson.h"
int main(int argc,
const char * argv[]) {
@autoreleasepool {
Person *p = [[Person
alloc]init];
[p eat];//
这里调用了eat方法,执行可见是打印“黑人吃东西”,所以方法被覆盖了
}
;
}
//
// Person.h
// OC的特有语法
//
// Created by admin on 15/8/12.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Person :
NSObject
{
int _age;
}
@property (nonatomic,assign)int age1;
@property (nonatomic,strong)NSString *name;
//人类的基本方法
- (void)eat;
- (void)drink;
- (void)smile;
@end
//
// Person.m
// OC的特有语法
//
// Created by admin on 15/8/12.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Person.h"
@implementation Person
- (void)eat
{
NSLog(@"人类吃东西");
}
- (void)drink
{
NSLog(@"人类喝东西");
}
- (void)smile
{
NSLog(@"人类微笑");
}
@end
//
// Person+BlackPerson.h
// OC的特有语法
//
// Created by admin on 15/8/12.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Person.h"
@interface Person (BlackPerson)
- (void)popping;
- (void)eat1;
// 这里
覆盖了Person类中的eat方法
@end
//
// Person+BlackPerson.m
// OC的特有语法
//
// Created by admin on 15/8/12.
// Copyright (c) 2015年 admin. All rights reserved.
//
#import "Person+BlackPerson.h"
@implementation Person (BlackPerson)
- (void)popping
{
[self
eat];
_age =
;
// 分类中能够直接调用原类中的成员变量
NSLog(@"黑人非常会跳舞");
}
- (void)eat1
{
NSLog(@"黑人吃东西");
}
@end
小白学开发(iOS)OC_ 使用继承来扩充类(2015-08-07)的更多相关文章
- 小白学开发(iOS)OC_ block数据类型(2015-08-08)
// // main.m // block数据类型 // // Created by admin on 15/8/12. // Copyright (c) 2015年 admin. All r ...
- 小白学开发(iOS)OC_ 字符串重组(2015-08-13)
// // main.m // 字符串重组 // // Created by admin on 15/8/13. // Copyright (c) 2015年 admin. All right ...
- 小白学开发(iOS)OC_ 字符串的获取 (2015-08-11)
// // main.m // 字符串的获取 // // Created by admin on 15/8/13. // Copyright (c) 2015年 admin. All righ ...
- 小白学开发(iOS)OC_ 字符串写入文件(2015-08-13)
// // main.m // 字符串写入文件 // // Created by admin on 15/8/13. // Copyright (c) 2015年 admin. All rig ...
- 小白学开发(iOS)OC_ 经常使用结构体(2015-08-14)
// // main.m // 经常使用结构体 // // Created by admin on 15/8/13. // Copyright (c) 2015年 admin. All rig ...
- 小白学开发(iOS)OC_ SEL数据类型(2015-08-10)
// // main.m // SEL数据类型 // // Created by admin on 15/8/12. // Copyright (c) 2015年 admin. All rig ...
- ios swfit 由继承UIButton了解类的构造方法
最近需要建立UIButton的子类. 先看一看swfit中继承父类构造方法的条件: Rule1 1“If your subclass doesn’t define any designated ini ...
- 小白学Java:RandomAccessFile
目录 小白学Java:RandomAccessFile 概述 继承与实现 构造器 模式设置 文件指针 操作数据 读取数据 read(byte b[])与read() 追加数据 插入数据 小白学Java ...
- 第十四章 web前端开发小白学爬虫
老猿从事IT开发快三十年了,接触互联网也很久了,但自己没有做过web前端开发,只知道与前端开发相关的一些基本概念,如B/S架构.html标签.js脚本.css样式.xml解析.cookies.http ...
随机推荐
- [置顶]
Docker学习总结(5)——超实用Docker入门学习教程
Docker是什么 Docker是一种容器技术,它可以将应用和环境等进行打包,形成一个独立的,类似于iOS的APP形式的"应用",这个应用可以直接被分发到任意一个支持Docker的 ...
- 洛谷 P1827 美国血统 American Heritage
P1827 美国血统 American Heritage 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的记帐员.他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树 ...
- POJ 3252 Round Numbers(组合数学)
Round Numbers Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10223 Accepted: 3726 De ...
- 【hadoop之翊】——CentOS6.5 Linux上面编译Hadoop2.4源代码
今天来说说编译hadoop源代码的事情吧~ 1.首先下载源代码 地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.4.0/ 2.加压t ...
- 优化HTML代码的多种技巧
怎样提升Web页面的性能,非常多开发者从多个方面来下手如JavaScript.图像优化.server配置,文件压缩或是调整CSS. 非常显然HTML 已经达到了一个瓶颈.虽然它是开发Web 界面必备的 ...
- shape- 设置虚线
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- PHP中字符串比较的常用方法
PHP中字符串比较的常用方法 一.总结 1.其实应该是直接等于号就可以了的 2.也可用strcmp,注意返回值 二.PHP中字符串比较的常用方法 1.按字节比较 按字节比较字符串是最常用的方法.其中可 ...
- Eclipse中自动添加注释
方法一:Eclipse中设置在创建新类时自动生成注释 windows-->preference Java-->Code Style-->Code Templates code- ...
- HTML中input标签maxlength属性的妙处
HTML中的input标签可是很常用的. HTML本身也非常简单,就是若干标签,每个标签有若干属性. 我在学习HTML的过程中,也没有太过重视. 今年,在写前端表单验证的时候,发现maxlength这 ...
- 【例题 7-1 UVA - 725】Division
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举分母从0到99999. 得到分子,判断合法 [代码] /* 1.Shoud it use long long ? 2.Have ...