面向对象的三大特性

一、封装

把数据、值、变量放入到对象中

构造方法 _init_方法

特殊作用: 在 obj = 类名() 执行时: 内部自动执行两个步骤:

1、创建对象

2、通过对象执行类中的一个特殊方法(_init_方法)

class info:
def __init__(self,name,age):
self.name = name
self.age = age
self.gender = '男'
def show(self):
print(self.name,self.age,self.gender) alex = info('alex',20)
alex.show()
mike = info('mike',23)
mike.show()
===>alex 20 男
===>mike 23 男

二、继承

1、继承

   -- 子类继承父类,或称派生类继承基类

class GrandFather:
def plus(self):
print("添加") class Father(GrandFather): # 父类(基类)
def add(self):
print("增加")
def delete(self):
print("删除") class Son(Father): # 子类(派生类)
def get(self):
pass s = Son()
s.add()
s.plus()
===>增加
===>添加

2、重写

-- 防止执行父类中的某些方法

class Father:     # 父类(基类)
def add(self):
print("父类中的增加")
def delete(self):
print("父类中的删除") class Son(Father): # 子类(派生类)
def delete(self):
print("子类中的删除") # 默认不再执行父类中的方法 s = Son()
s.add()
s.delete() # 此时子类不再继承父类中的delete方法,而是调用子类自己的方法
===>父类中的增加
===>子类中的删除

3、扩展

-- 即执行父类中的方法,也执行子类自己的方法

class RequestHandler:
def get(self):
print("父类中的获取")
class BaseRequest(RequestHandler):
def get(self):
super(BaseRequest, self).get() # 执行父类中的方法
#RequestHandler.get(self) 与super方法效果一样,但更推荐使用euper方法
print("子类中的获取") obj = BaseRequest()
obj.get() # 此时方法会执行父类中的方法,再执行子类的方法
===>父类中的获取
===>子类中的获取

4、多继承

-- 子类会根据左侧优先原则,在第一个父类中寻找方法,在找不到的情况下在去父类的父类中寻找

-- 当父类有同一个根时,根会在最后才执行

class Base:
def a(self):
print('Base') class F0(Base):
def a1(self):
print('F0') class F1(F0):
def a1(self):
print('F1') class F2(Base):
def a(self):
print('F2') class S(F1,F2):
pass obj = S()
obj.a()
===> F2

三、多态

  python 原生即为多态,不需要过多进行处理

Python学习 :面向对象 -- 三大特性的更多相关文章

  1. 《Python》 面向对象三大特性之多态、封装

    一.多态 1.什么是多态? 一个类表现出的多种状态:通过继承来实现的 在Java中的表现:在一个函数中需要给参数指定数据类型,如果这个地方可以接收两个以上类型的参数,那么这些类型应该有一个父类,这个父 ...

  2. python之面向对象三大特性: 继承(单继承)

    什么是继承 专业角度: B 继承 A类, B就叫做A的子类,派生类, A叫做B的父类,基类,超类. B类以及B类的对象使用A类的所有的属性以及方法. 字面意思: 继承就是继承父母所有的资产 class ...

  3. Python入门-面向对象三大特性-继承

    面向对象中的继承和现实生活中的继承相同,即:子可以继承父的内容. 例如: 猫可以:喵喵叫.吃.喝.拉.撒 狗可以:汪汪叫.吃.喝.拉.撒 如果我们要分别为猫和狗创建一个类,那么就需要为 猫 和 狗 实 ...

  4. Python入门-面向对象三大特性-封装

    一.封装 封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容. 所以,在使用面向对象的封装特性时,需要: 将内容封装到某处 从某处调用被封装的内容 第一步:将内容封装到某处 sel ...

  5. 《Python》 面向对象三大特性之继承

    一.继承大纲: 继承和抽象(两个概念) 1.单继承: 语法: 父类.基类.超类 子类.派生类 继承与重用:子类可以使用父类中的名字(变量和方法) 继承与派生:子类在父类的基础上又新创建了自己需要的方法 ...

  6. Python入门-面向对象三大特性-多态

    Pyhon不支持多态并且也用不到多态,多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚"鸭子类型".

  7. python学习-64 面向对象三大特性----继承1

    面向对象三大特性 1.三大特性? 继承,多态,封装 2.什么是继承? 类的继承和现实生活中的父与子,继承关系是一样的,父类为基类. python中的类继承分为:单继承和多继承 3.举例说明 class ...

  8. python 面向对象三大特性(封装 多态 继承)

    今天我们来学习一种新的编程方式:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)注:Java和C#来说只支持面向对象编程,而python比较灵活即支持面 ...

  9. python 面向对象(三大特性)

    python 面向对象(初级) (思维导图 ↑↑↑↑↑) 概述: 面向过程:根据业务逻辑从上到下垒代码. 函数式:将某功能代码封装至函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类 ...

  10. python面向对象三大特性

    面向对象的三大特性: 封装.继承和多态 一.封装 封装,顾名思义就是将内容封装到某个地方,以后可以直接调用被封装到某处的内容. - 将内容封装到某处 - 从某处调用被封装的内容 第一步,将内容封装到某 ...

随机推荐

  1. 传递给数据库 'model' 中的日志扫描操作的日志扫描号无效

    状况描述:在服务器的管理中重新启动MSSQLSERVER启动后马上又停止   通过"事件查看器" 发现 错误: ,严重度: ,状态: LSN(::)无效.该 LSN 是传递给数据库 ...

  2. 安装Xcode主题

    安装Xcode主题 下载地址 https://github.com/YouXianMing/Xcode-Themes 安装教程 1. 安装文件夹中的字体 2. 如下图,执行 ./cp_themes.s ...

  3. Python学习---range/for/break/continue简单使用

    range的使用:注意,在python3中,交互模式下已经不显示了 for循环的使用 打印50-70 # 第一种方案 for i in range(100): if i <= 70 and i ...

  4. January 12 2017 Week 2 Thursday

    Although it rains, throw not away your watering pot. 纵然天下雨,休把水壶丢. Don't throw away your watering pot ...

  5. css3-鼠标经过产品列表 图片放大 显示文字 (兼容IE9以上 不含IE9)

    <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <title&g ...

  6. Android笔记之 Web Service 基础

    一.Web Service是什么? 就是网络服务.依据W3C的定义,WebServices(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一种自包括.自描写叙述和模块化的应用程序,它能 ...

  7. 【[CQOI2011]动态逆序对】

    这是我的第一个数据结构套数据结构 不是线段树套\(Splay\),而是非常蛇皮的块状链表套树状数组 如果这里按照\(\sqrt{n}\)的大小来分块,那么就需要\(n\sqrt{n}\)的空间,可能开 ...

  8. 【金融123】ISDA协议

    http://blog.sina.com.cn/s/blog_799af92f0100ur03.html http://www.nafmii.org.cn/ NAFMII 官方文档 NAFMII_Ma ...

  9. Reading Software Defined Traffic Measurement with OpenSketch

    NSDI '13 概要 OpenSketch是一个通用的.抽象的测量框架, 与SDN 网络架构类似, OpenSketch 提出将测量控制层和数据层解耦. 数据层运行设为可动态配置的3阶段流水线, 首 ...

  10. DPDK运行出现error while loading shared libraries的解決方法

    问题 error: while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or d ...