python 面向对象之多态与绑定方法】的更多相关文章

多态与多态性 一,多态 1,多态指的是一类事物有多种形态(python里面原生多态) 1.1动物有多种形态:人,狗,猪 import abc class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 @abc.abstractmethod def talk(self): pass class People(Animal): #动物的形态之一:人 def talk(self): print('say hello') class Dog(Animal): #动物的…
一.抽象类 1.抽象类的定义:从一堆类中抽象出相同的内容,重新组成一个新的类,这样的类属于抽象类. 2.香蕉类是一类水果,苹果类是一类水果,葡萄类是一类水果,但是他们都属于水果,从他们这些类中可以抽象出相同的部分都是属于水果类,这个水果类就属于抽象类.但是你永远无法吃到一个叫水果的对象,所以抽象类是不能被实例化的,他只能被别的类所继承,并且子类必须实现抽象方法. 3.该抽象类主要和abc模块结合使用.(之前将的读和写) 4.抽象类的本质还是类,指的是一组类的相似处,包括数据属性和函数属性,而接口…
Python面向对象里面有很多特殊方法,例如__init__(构造方法),__del__(析构方法),这些方法对于面向对象编程非常重要,下面列出一些常用的特殊方法 (1)__call__ class Foo: def __init__(self): self.name = 'name' def __call__(self, *args, **kwargs): print('call') return 1 r = Foo() a=r()#实例后面加括号,执行类里面的__call__方法,也可以Fo…
一.抽象类 抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化 1.在python中实现抽象类 import abc #利用abc模块实现抽象类 class All_file(metaclass=abc.ABCMeta): all_type='file' @abc.abstractmethod #定义抽象方法,无需实现功能 def read(self): '子类必须定义读功能' pass @abc.abstractmethod #定义抽象方法,无需实现功能 def write(sel…
一.类的定义 二.面向对象概念三.对象的使用四.__init__函数的使用五.绑定方法六.面向对象联系 一.类的定义 1.什么叫做类? 类就是分类,类型的意思,一堆具备相同特征和行为的事物的抽象概念 2.类的作用? 用于描述该类的对象具备什么样的特征和行为 3.类的语法 调用import class 类名规范大写开头,驼峰命名法   4.类定义阶段发生了两种情况 1.当包含该类的py文件被执行,就会创建类的名称空间 2.执行代码,将产生的名称放入名称空间 5.类的调用方式 class SHOld…
面向对象编程 什么是面向对象? 面向过程:将需要解决的问题按步骤划分,一步一步完成每一个步骤,而且          步骤之间有联系. 优点:复杂问题可以分步完成 缺点:扩展性很差,维护性差.如果中间某一环节有问题整体都会发生问题 使用的场景:对扩展性要求较低的软件,比如系统软件,脚本程序 面向对象(oop):将程序看作一堆对象的集合,实现功能的方式就是通过对象之间的交互来实现. 优点:扩展性高.对象之间的影响几乎没有 缺点:当某些程序不需要扩展性时书写就很复杂,无法预知结果 什么是对象? 对象…
[封装] 隐藏对象的属性和实现细节,仅对外提供公共访问方式. [好处] 1. 将变化隔离: 2. 便于使用: 3. 提高复用性: 4. 提高安全性: [封装原则] 1. 将不需要对外提供的内容都隐藏起来: 2. 把属性都隐藏,提供公共方法对其访问. 私有变量和私有方法 在python中用双下划线开头的方式将属性隐藏起来(设置成私有的) 私有变量 #其实这仅仅这是一种变形操作 #类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式: class A: __N=0 #类的数据属性就应…
多态 面向对象三大特性 封装 根据职责将属性和方法封装到一个抽象的类中:--定义类的准则 继承 实现代码的重用,相同的代码不需要重复的编写:--设计类的技巧:子类针对自己的需求,编写特定的代码: 多态 不同的子类对象调用相同的父类方法,产生不同的执行结果:-- 多态可以增加代码的灵活度: 以继承和重写父类方法为前提: 是调用方法的技巧,不会影响到类的内部设计: 例如同样是人类,就有医生和教师的工作职别. 多态案例演练 需求:在Dog类中封装方法game,普通狗类只是简单的玩耍: 定义军犬类继承自…
1.属性查找 类有两种属性:数据属性和函数属性 (1)类的数据属性是所有对象共享的 #类的数据属性是所有对象共享的,id都一样 class OldboyStudent: school='oldboy' def learn(self): print('is learning') def eat(self): print('is eating') def sleep(self): print('is sleeping')s1=OldboyStudent() s2=OldboyStudent()s3=…
多态:同一种事物的不同形态(一个抽象类有多个子类,因而多态的概念依赖于继承) 1. 序列类型有多种形态:字符串,列表,元组. 2. 动物有多种形态:人,狗,猪 多态性:多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同功能的函数. 多态性的例子:obj具有多态性 # 以下例子可以概括:多态性就是一个接口(函数func()),多种实现(f.func())import abc class Animal(metaclass=abc.ABCMeta): @abc.abstr…