PHP之面向对象小结】的更多相关文章

一.组合 表示的一种什么有什么的关系 先来说一下,__init__的作用 class Dog: def __init__(self, name, kind, hp, ad): self.name = name # 对象属性 属性 self.kind = kind self.hp = hp self.ad = ad def bite(self, p): p.hp -= self.ad # 人掉血 print('%s咬了%s一口,%s掉了%s点血' % (self.name, p.name, p.n…
ECMAScript支持面向对象编程,对象可以在代码执行时创建,具有动态扩展性而非严格意义上的实体. 创建对象方法: 工厂模式:简单的函数创建引用类型 构造函数模式:可以创建自定义引用类型,可以想创建内置对象一样使用new操作符,构造函数的函数无法得到复用,不能共享函数. 原型模式:利用构造函数的prototype属性来指定共享的属性和方法,组合使用构造函数和原型模式时,使用构造函数定义实例属性,原型模式来共享方法. javascript主要通过原型链实现继承,将一个类型的实例赋值给另一个原型对…
特点: 1:将复杂的事情简单化. 2:面向对象将以前的过程中的执行者,变成了指挥者. 3:面向对象这种思想是符合现在人们思考习惯的一种思想. 过程和对象在我们的程序中是如何体现的呢?过程其实就是函数:对象是将函数等一些内容进行了封装. 匿名对象使用场景: 1:当对方法只进行一次调用的时候,可以使用匿名对象. 2:当对象对成员进行多次调用时,不能使用匿名对象.必须给对象起名字. 在类中定义其实都称之为成员.成员有两种: 1:成员变量:其实对应的就是事物的属性. 2:成员函数:其实对应的就是事物的行…
最近过了一遍尼古拉斯泽卡斯的高级程序设计第三版(红皮书)第六章:面向对象程序设计,现在把总结出来的东西和大家分享一下. 主要内容如下: 1.工厂模式 2.构造函数模式 3.原型模式 4.继承 一.工厂模式 工厂模式中的函数中会创建一个对象,最后return这个对象,通过每次调用时传入的参数不同来解决创建多个相似对象的问题. // 工厂模式 function creatPerson(name, age, job) { var o = {}; o.name = name; o.age = age;…
PHP 中创建对象 类创建后,我们可以使用 new 运算符来实例化该类的对象: $runoob = new Site; PHP 构造函数 构造函数 ,是一种特殊的方法.主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中. function __construct( $par1, $par2 ) { $this->url = $par1; $this->title = $par2; } 析构函数 析构函数(destructor) 与构造函数相反…
面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等. 面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,…
引子 小游戏:人狗大战 角色:人和狗 角色属性:姓名,血量,战斗力和性别(种类) 技能:打/咬 用函数实现人打狗和狗咬人的情形 def Dog(name,blood,aggr,kind): dog = { 'name':name, 'blood':blood, 'aggr':aggr, 'kind':kind } def bite(person): person['blood'] -= dog['aggr'] print('%s被咬了,掉了%s的血'%(person['name'],dog['a…
知识点: 面向过程VS面向对象 初识类和对象 对象之间的交互 类与对象之间的命名空间 面向对象的组合用法 面向对象的三大特性(封装.继承.多态) 继承 抽象类和接口类 多态 封装  -- (property装饰器) 绑定方法和非绑定方法 -- (classmethod 和 staticmethod装饰器) 面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点:极大的降低了写程…
http://www.cnblogs.com/Eva-J/articles/7293890.html 阅读目录 楔子 面向过程vs面向对象 初识面向对象 类的相关知识 对象的相关知识 对象之间的交互 类命名空间与对象.实例的命名空间 类的组合用法 初识面向对象小结 面向对象的三大特性 继承 多态 封装 面向对象的更多说明 面向对象的软件开发 几个概念的说明 面向对象常用术语 回到顶部 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需…
类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就是定义在类中的方法 其中类的数据属性是共享给所有对象的 >>>id(egg.role) 4341594072 >>>id(Person.role) 4341594072 而类的动态属性是绑定到所有对象的 >>>egg.attack <bound me…