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

面向对象进阶 一.关于面向对象的两个内置函数 isinstance   判断类与对象的关系    isinstance(obj,cls)检查obj是否是类 cls 的对象,返回值是bool值 issubclass     判断类与类的关系             issubclass(sub, super)检查sub类是否是 super 类的派生类,返回值是bool值 class A: pass class B(A): pass a = A() print(isinstance(a,A)) pr…
6.9 反射 反射是非常重要的内置函数之一. 反射是通过字符串去操作对象相关的属性,这里的对象包括:实列,类,当前模块,其他模块. 主要的四个函数: 查看: hasattr(对象,待查内容的字符串形式) 判断有没有,返回True或者False 获取: getattr(对象,要获取的内容的字符串形式,获取不到时的返回值) 增加: setattr(对象,要增加的内容的字符串形式) 删除: delattr(对象,要'删除的内容的字符串形式) 6.9.1 实例化中使用 class LOL: place…
内部类Inner Class 将相关的类组织在一起,从而降低了命名空间的混乱. 一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分. Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner class 匿名内部类anonymous inner class 静态内部类Static Inner Class 最简单…
Java中this关键字主要有以下两个方法: 1.this引用 - 可用于任何非static修饰的方法和构造器中,当this用于方法中时,它代表调用该方法的实例/对象;当this用于构造器中时,它代表构造器正在初始化的实例/对象 2.this调用 - 只能在构造器的第一行出现. 如何区分this引用与this调用呢? this引用写法为:this.  ;  而this调用写法为:this(); 例1: class TestThis{ private double weight; private…
1.协议(protocol)和委托 1.1 规范.协议与接口 OC中协议的作用就相当于其他语言中接口的作用.协议定义的是多个类共同的公共行为规范,协议通常定义一组公用方法,但不提供实现. 1.2 定义 正式协议使用@protocol关键字来定义,语法如下: @protocol 协议名<父协议1,父协议2> { //方法定义 } 一个协议可以有多个直接父协议,但协议只能继承协议不能继承类.协议中定义的方法只有方法签名,没有方法实现:协议中定义的方法既可以是类方法,也可以是实例方法. 1.3 实现…
反射 reflection 也有人称之为自省 作用: 运行时获取.添加对象的类型定义信息,包括类 内建方法: getattr(object, name[, default])   返回object对象的name属性的值(name必须为字符串),当属性不存在时,将使用default返回,如果没有default,就会抛出AttributeError异常.setattr(object, name, value)   设置object对象的name属性值,如果存在则覆盖,不存在就新增.hasattr(o…
多态: 举例:描述一个事物的多种形态,如Student类继承了Person类,一个Student对象既是Student,又是Person 多态体现为:父类引用变量可以指向子类对象 多态的前提:必须有子父类关系或者类实现接口关系,否则无法完成多态 在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法 举例: public class Fu { public void show(){ System.out.println("父类的show方法"); } } public class…
1.栈与队列 栈:类似弹夹,先进后出 队列:类似水管,先进先出 class Stack(object): """ 先进后出 """ def __init__(self): self.data_list=[] def push(self,val): """ 向栈中压入一个数据(入栈) """ self.data_list.append(val) def pop(self): "&…
####################总结########## 1. isinstance: 判断xxx是否是xxx类型的(向上判断) type: 返回xx对象的数据类型 issubclass: 判断xxx类是否是xxx类的子类 type: 返回xx对象的数据类型 def add(a, b): if (type(a) == int or type(a) == float) and (type(b) == int or type(b) == float): return a + b else:…
一.继承 class Animal(object): def run(self): print('Animal is running...') class Dog(Animal): def run(self): print('Dog is running...') def eat(self): print('Eating meat...') dog = Dog() dog.run() Dog is running... 当子类和父类都存在相同的run()方法时,我们说,子类的run()覆盖了父类…