黑马程序----category(分类)

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

category(分类)

1.作用:

  • 在不改变原来类内容的基础上,增加一些方法,但是不能增加成员变量;

2.分类的使用注意:

  • 分类只能增加方法,不能增加成员变量

  • 分类方法实现中可以访问原来类中声明的成员变量(必须是手动的声明)

  • 分类中可以重新实现原来类中的方法,但是会覆盖掉原来类中的方法,会导致原来类中的方法失效

  • 方法调用的优先级:分类(最后参与编译的分类) --> 原来类 --> 父类,如果几个分类中都实现了原来类中的一个方法,再调用次方法时,会调用最后一次参与编译的分类中的方法。

3.代码展示:

分类(Person + ZYC).h文件

分类(Person + ZYC).m文件

原先类(Person).h文件:

原先类(Person).m文件:

main.m文件:

时间: 2024-08-08 12:36:36

黑马程序----category(分类)的相关文章

黑马程序员-OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下 // 声明 @interface  类名  (分类名称) @end // 实现 @implementation 类名 (分类名称) @end 2:分类的好处,当一个类比较庞大时,不同的部分可以放到不同的分类中,也方便团队中类的开发: 3:分类使用注意: a:分类不能增加成员变量,只能对原类增加方

黑马程序员— OC核心语法之构造方法、Category分类、类的本质、description和SEL

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 上一章我们学习了OC的一些核心语法,初步了解了OC作为一门开发语言的一些较为深层次的知识.本章我们继续学习OC的核心语法,主要包括OC的构造方法,Category分类,类的本质及深入研究,以及description关键字和SEL关键字. 第一讲     构造方法 1. 构造方法 构造方法是用来初始化对象的方法,是一个对象方法,以减号"-"开头,构造方法其实就是init方法,初始化完毕

黑马程序员学习笔记_OC之给NSString增加分类

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>.<a href="http://www.itheima.com"target="blank">.Net培训</a>.期待与您交流! ---------------------- 黑马程序员学习笔记_OC

黑马程序员---OC---点语法、属性作用域、@property与@synthesize、id、构造方法、分类

------iOS培训.Java培训.Android培训, iOS学习型技术博客,期待与您交流------                                    点语法 点语法的本质是方法调用:调用对象成员变量的setter和getter 是编译器特性,编译器帮忙转的 p.age = 25;       // 等价于 [p setAge:25]; int a = p.age;     // 等价于 int a = [p age]; // 访问成员变量不能用点语法,而是 p->_a

【黑马程序员】————OC特有语法

一.点语法 点语法的本质还是方法调用 p.age = 10; // [p setAge:10]; int a = p.age; // [p age]; 二.成员变量的作用域 @public : 在任何地方都能直接访问对象的成员变量 @private : 只能在当前类的对象方法中直接访问(@implementation中默认是@private) @protected : 可以在当前类及其子类的对象方法中直接访问 (@interface中默认就是@protected) @package : 只要处在

黑马程序员——集合篇

------- android培训.java培训.期待与您交流! ---------- 1.集合类 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一 种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的.数组中可以存储基本数据类型,集合只能存储对象. 集合类的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. 2.集合框架的构成及分类 3.

黑马程序员——OC的特有语法

1. 分类-Category 1. 基本用途:Category  分类是OC特有的语言,依赖于类. ? 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 ● 继承 ● 分类(Category) 2. 格式 ? 分类的声明 @interface 类名 (分类名称) // 方法声明 @end ? 分类的实现 @implementation 类名 (分类名称) // 方法实现 @end 3. 好处 ? 一个庞大的类可以分模块开发 ? 一个庞大的类可以由多个人来编写,更有利于团队合作 ? 4

黑马程序员学习笔记2014/7/5

观看视频:011_标识符_黑马程序员_Java基础视频.avi Java语言的基础组成 关键字.标识符.注释.常量和变量.运算符.语句.函数.数组.   关键字     标识符 1.在程序中自定义的一些名称 2.由26个英文字母大小写,数字,0-9符号 :_ $ 组成 3.定义合法标识符的规则: a.数字不可以开头 b.不可以使用关键字 4.Java中严格区分大小写 5.注意:在起名的时候尽量起一个有意义的名称       观看视频:012_常量_黑马程序员_Java基础视频 常量与变量 Jav

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式: