OC面对对象下之类别

分类和协议

    category:分类和类目

     分类在原来的基础上扩充方法,不改变原来的代码结构

     分类不可以扩充属性,只能扩充方法,要想扩充属性必须用继承

     分类不但可以扩展对象方法,还可以扩展类方法

     分类可以多个 但是不能重名

     匿名内部分类又叫类的扩展,扩展里面可以添加属性,同时,扩展里面的方法声明可以在主实现文件里面实现

     在.m文件里面添加内部分类叫延展,既可以扩展属性,又可以扩充方法

时间: 2024-12-28 02:11:24

OC面对对象下之类别的相关文章

关情纸尾-----OC面对对象的核心语法

有点愧疚,这几个月荒废了,也浪费了很多时间. 接下来是我看的关于核心语法的一些笔记,可能不全也可能有错误,希望大家可以指出来. 一.点语法 点语法的本质是调用. 例如: Person *p = [Person new]; //赋值 p.age = 10; // 等价于[P setAge:10];调用setter //取值 int a = p.age;// 等价于[P age];调用getter 二.成员变量的作用域 @public  任何地方都能直接访问 @private 只能在当前类的对象方法

面对对象_面向对象的概念、类与对象的关系

面向对象的基本概念: 1.什么是面向对象 1.面向对象是一种编程思想 2.面向对象是一种思考问题的思维方式 2.建立面向对象的思维方式 1.先整体,再局部 2.先抽象,在具体 3.能做什么,再怎么做 3.如何学习面向对象 1.掌握一门面向对象语言的语法 2.熟悉面向对象的设计原则 3.熟悉面向对象的设计模式 面对对象的概述:   1.面对对象的三个特征(公认的):封装,继承,多态.(也可以说是四大特征:封装,继承,多态,抽象)   2.开发中先找对象,没有就建立一个对象,实际就是找对象,建立对象

js面对对象编程

说到js,很大一部分人会说我很熟悉,在日常的web开发中经常用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,减少了混乱,可维护行增强,适合编写富客户端时应用. 好了,首先看看js里如何定义对象: <html> <head> <script type="text/javascript"> var obj=new Object(); obj.name='josh'; obj.ag

Day-8: 面对对象编程

面对过程的程序设计方法意在将函数分成子函数,再依次调用这些函数来解决问题. 而面对对象的程序设计方法,来源于自然界,类是实例的抽象,实例是类的具体.自定义出来的对象是类,而所有的数据都可以看成是对象,因此解决问题的方法是靠对象自己处理消息和相互传递消息.使用时,首先考虑的是需要创建什么样的对象,对象中有怎么样的属性,要实现什么功能(成为方法). 面向对象的抽象程度比函数要高,因为一个class中既包含数据,又包含操作数据的方法.其中,数据封装.继承和多态是面向对象的三大特点. 创建类时,clas

Java入门——(2)面对对象(上)

关键词:面对对象.类..构造方法.this.static.内部类 一.面对对象的概念:把解决的问题安装一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题.其特点可概括为封装性.继承性.多态性. 1.封装性:面对对象的核心,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想. 2.继承性:主要描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展. 3.多态性:是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其他类

跟着百度学PHP[4]OOP面对对象编程-7-封装性private

所谓封装顾名思义,如同箱子般给封装起来.结合前面的来说就是对属性或者方法,封装后的方法或属性只能有类内部进行调用.外部调用不了. 封装性的好处: 1.信息隐藏 2.http://www.cnblogs.com/yisss/p/3412702.html 3.https://zhidao.baidu.com/question/2203595698703331308.html 目录------------------------------------- 00X1 进行封装 00x2 如何调用封装的属

objecti-c 面对对象的基础知识

面对对象的基础知识 control+P上一行 control+N下一行 control+A首位置 control+E行末 control+D删除光标右边   //第一个点get, 第二个点set方法 cell.textLabel. text 调用了set的方法://_array没有调用 self.array 非原子性 nonatomic  多线程,速度快 原子性 atomic  默认的,多线程安全 读写 readwrite   默认的setter,getter方法 只读 readonly   只

js面对对象编程(二):属性和闭包

上篇博客中讲解了一些js对象的基本概念和用法,这篇博客讲解一下js属性方面的:公有属性,私有属性,特权方法. 如果学过java,公有属性,私有属性,特权方法(即可以访问和设置私有属性的方法)一定很熟悉,那么让我们来看看在js里如何实现呢? 1.公有属性 首先看公有的第一层意思是可以被大家所访问的,对外开放的属性,是相对于私有属性而言的: function Person(name,age){ this.name=name; this.age=age; this.getName=function()

面对对象基础

1.面对对象不是所有情形都适用 1.1函数式编程 def fun1(arg1): pass def fun2(arg1,arg2): pass fun1("acker") fun2("...") 2.1面对对象编程 class humanBeing: def fun1(self, arg1): pass def fun2(self,arg1, arg2): pass obj1 = humanBeing() obj1.fun1('wuwen') obj2.fun2('