【php】面向对象(五)】的更多相关文章

一.封装: 封装的概念: - 合理的隐藏:隐藏不想被外界操作的Field.方法.构造器 - 合理的暴露:一般就是希望给别人调用的方法 e.g:显示器(按键暴露出来操作,但实际的东西/细节方法被隐藏起来) 封装的目的: - 简化编程(不去去找显示器的内部调,直接按键调整即可) - 更好的保证对象的完整性 为了实现隐藏,我们有4个修饰符: private - 仅限当前类访问权限 无修饰符/默认  - 包访问权限(同一个包内) protected   - 子类访问权限(本类能访问.同一个包也能访问)…
使用到了__get__,__set__,__delete__中的任何一种方法的类就是描述器 描述器的定义 一个类实现了__get__,__set__,__delete__中任意一个,这个类就是描述器. 如果只实现了__get__,就叫非数据描述器non-data descriptor 如果同时实现了__get__,__set__,那就叫数据描述器data descriptor. 如果一个类的类属性的值设置为了描述器,那这个类就称为owner(属主). 回顾下就会发现我们曾用过@property(…
在开发中,经常需要在创建对象的同时明确对象对的属性值, 比如一个Person对象创建时候就应该有age和name等属性 那么如何做到在创建对象的同时给对象的属性初始化值呢? 这里介绍构造方法: 1.构造方法没有返回值类型,更没有返回值,因为它是构建对象的,对象创建完,方法就执行结束 2.构造方法名必须和类型保持一致 3.构造方法什么时候运行呢?答:在创建对象的时候自动执行,而且只运行一次 定义示例: public class Person { public Person(){ System.ou…
###############################总结###################### 1.异常处理 raise:抛出异常 try: 可能出现错误代码 execpt 异常类 as e: 异常处理 execpt 异常类 as e: 异常处理 else: 如果上面的代码没有报错,执行这里 finally: 收尾 自定义异常: 随便写个类. 继承Exception try: print(1/0) f=open('hahah',mode='r') except ZeroDivis…
一.type()函数 判断基本数据类型可以直接写int,str等: >>> class Animal(object): ... pass ... >>> type(123) <class 'int'> >>> type(') <class 'str'> >>> type(None) <class 'NoneType'> >>> type(abs) <class 'builti…
一. Java对象的引用种类 Java内存管理包括内存分配和内存回收, 这个动作都是由JVM自动完成,所以过多的内存分配增加了内存的消耗,且垃圾回收线程的不断运行会给后台增加压力,降低系统的性能. 1.1  对象在内存中的状态 · 可达状态: 当一个对对象被创建后,有一个以上的引用变量引用它,在它处于可达状态. ·可恢复状态: 如果程序中的某个对象不再有任何引用变量引用它,它将先进入可恢复状态. · 不可达状态: 当对象的所有关联都被切断,且系统调用所有对象的finalize方法依然没有使该对象…
要想理解这个问题?需要考虑很多 1.什么是面向对象 把问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象.通过不同对象之间的调用,组合解决问题,也就是说,在面向对象的编程中,要把属性,行为等封装成对象,然后基于对象进行业务逻辑的实现 2.什么是面向过程 把问题分解成一个一个步骤,每个步骤用函数实现,然后依次调用即可.也就是说,在面向过程的编程中,不需要考虑太多,上来先定义一个函数,然后使用各种if--else--,for--each--等等方式进行代码执行. 3.面向对象的三大基本特征和…
1. 前言 2. 单一职责 3. 开闭原则 4. 里氏替换 5. 依赖倒置 6. 接口隔离 7. 迪米特法则 8. 组合聚合复用原则 9. 总结 1. 前言 面向对象编程有自己的特性与原则,如果对于面向对象有一些了解的话,面向对象三大特征,封装.继承.多态,如果对面向对这三个概念不太了解,请参考面向对象之三个基本特征(javaScript). 2. 单一职责 如果我们在编写程序的时候,一类或者一个方法里面包含了太多方法,对于代码的可读性来说,无非是一场灾难,对于我们来说.所以为了解决这个问题,出…
设计模式在我们的开发中是不可或缺的一部分,很多人会说,我没用那些设计模式啊,我也开发的挺好的,其实不然,我们在开发中都用到了这些设计模式,只不过我们并没有在意这些,今天我就用开车的方法来解释一下我们的7个设计原则. 简述 面向对象的设计原则有七个,包括:开闭原则.单一职责原则.里氏替换原则.迪米特原则(最少知道原则).接口分离原则.依赖倒置原则.组合/聚合复用原则. 1>开闭原则: 在面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”…
预备知识: 开放封闭原则(Open-Closed Principle OCP) Software entities(classes,modules,functions etc) should open for extension ,but close for modification. 所谓开放封闭原则就是软件实体应该对扩展开放,而对修改封闭.开放封闭原则是所有面向对象原则的核心. 软件设计本身所追求的目标就是封装变化,降低耦合,而开放封闭原则正是对这一目标的最直接体现. 对扩展开放,意味着有新…