小白学开发(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 ...
随机推荐
- Lightoj 1127 - Funny Knapsack 【二分】
题目链接:problem=1127">http://www.lightoj.com/volume_showproblem.php?problem=1127 题意:有n个物体(n< ...
- Python基础教程之第3章 使用字符串
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Type "copyri ...
- HASH Partitioning--转载
原文地址:https://dev.mysql.com/doc/refman/5.1/en/partitioning-hash.html HASH Partitioning [+/-] 18.2.3.1 ...
- jQuery高级选择器和其等价方法
jQuery选择器和css一样,但兼容性更好 <body> <p>p1</p> <p>p1</p> <p>p1</p> ...
- Native开发与JNI机制详解
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 文/李森 博主导读:博主不是代码大师,研究什么都很深,Java除外,所以无论什么问题,方案可以提供, ...
- android插件式开发资料整理
1.DL : Apk动态载入框架 2.android中的动态载入机制
- unity3d 改动gui label颜色,定义颜色需除以256
GUIStyle titleStyle2 = new GUIStyle(); titleStyle2.fontSize = 20; titleStyle2.normal.textColor = new ...
- viewPager-基本实现示例
直接看代码 package com.example.myviewpager; import android.app.Activity; import android.os.Bundle; import ...
- Mycat快速入门
1.Mycat介绍 Mycat 是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的Server,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以 ...
- android开发设计辅助工具整理
1.Button设计工具button设计