1.继承

1.两层意思

改变和扩展(详细看随笔继承和组合)

2.多态(体现在运行时的状态)

1.不同的类可以调用相同的方法,得到不同的结果

2.实际上是继承的一种体现机制

class H2o:def __init__(self,name,temperature):self.name=nameself.temperature=temperaturedef turn_ice(self):if self.temperature<0:print('温度太低,变成【%s】' %self.name)if self.temperature>100:print('温度太高,变成【%s】' %(self.name))if self.temperature>=0 and self.temperature<=100:print('温度适中,变成【%s】' %self.name)
class water(H2o):pass
class ice(H2o):pass
class Steam(H2o):pass
w1=water('water',46)
i1=ice('ice',-12)
s=Steam('stream',199)w1.turn_ice()   # 温度适中,变成【water】
i1.turn_ice()   # 温度太低,变成【ice】
s.turn_ice()     #温度太高,变成【stream】

3.封装

1.抛开面向对象,你单独想什么是装,装就是拿一个麻袋,把小猫, 小狗等一起装进麻袋 ,在面向对象中,

这个麻袋就是你的类或对象,类或对象这两个麻袋 装了数据属性和函数属性,那么对于类或对象来说,封的概念代表隐藏

2.两种方法隐藏

1.在前面加 (_)         (实际上是一种约定,还可以访问,但程序员知道访问这个不对)

2.在前面加(__)            (实际上是字符串拼接)

class Peoson:_star='earth'def __init__(self,name,age):self._name=nameself.__age=age
p1=Peoson('lujiacheng',19)
print(p1._star)         #earth
print(p1._name)         #lujiacheng
print(p1._Peoson__age)  #19  实际上是拼接

3.第三层次的封装:区分内外(利用第二层次的封装),外部没法访问,只在内部使用, 外部要访问,可定义一个接口(即函数),

供外部访问 (但设计时要充分考虑数据是否要封装,不然接口很多,所以不能乱用封装)

转载于:https://www.cnblogs.com/lujiacheng-Python/p/9736163.html

Python全栈开发——面向对象的三大特性(继承 多态 封装)相关推荐

  1. python 全栈开发,Day21(抽象类,接口类,多态,鸭子类型)

    一.昨日复习 派生方法和派生属性 super 只有在子父类拥有同名方法的时候, 想使用子类的对象调用父类的方法时,才使用super super在类内 : super().方法名(arg1,..) 指名 ...

  2. Python全栈开发——面向对象进阶(一切皆对象)

    1.isinstance(obj,cls)            检查obj是否是类cls的对象, issubclass(sub,super)          检查sub是否是super的子类 #i ...

  3. python全栈开发中级班全程笔记(第三模块、第一章(1.面向对象基础))

    python全栈开发笔记第三模块           第一部分 第一章 :面向对象(类) 一.面向过程编程1.面向过程编程:主要是过程二字,所谓过程,就是指解决问题的步骤,也可以说是设计一套流水线(机 ...

  4. python 全栈开发之路 day1

    python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进 ...

  5. python全栈开发工程师_【2018重磅巨献】老男孩Python高级全栈开发工程师第三期...

    2018年老男孩python全栈第三期老男孩python全栈3期 老男孩教育Python全栈开发为国内首家专注python全方面开发的教育机构 老男孩Python全栈第三期课程详细目录,高清不加密! ...

  6. Python全栈开发【基础-09】深浅拷贝+while循环

    专栏介绍: 本专栏为Python全栈开发系列文章,技术包括Python基础.函数.文件.面向对象.网络编程.并发编程.MySQL数据库.HTML.JavaScript.CSS.JQuery.boots ...

  7. 参加python全栈开发培训需要多少钱?

    python是一门高级的编程语言,也是非常受欢迎的编程语言,应用领域广泛.薪资待遇高,可以从业范围多,越来越多人都想要学习python,那么参加python全栈开发需要多少钱? 许多人对python的 ...

  8. 路飞学城python全栈开发_[Python] 老男孩路飞学城Python全栈开发重点班 骑士计划最新100G...

    简介 老男孩&路飞学城Python全栈开发重点班课程,作为Python全栈教学系列的重头戏,投入了全新的课程研发和教学精力,也是Python骑士计划的核心教学,由ALEX老师开班镇守,一线技术 ...

  9. python全栈开发要学些什么_战争热诚的python全栈开发之路

    从学习python开始,一直是自己摸索,但是时间不等人啊,所以自己为了节省时间,决定报个班系统学习,下面整理的文章都是自己学习后,认为重要的需要弄懂的知识点,做出链接,一方面是为了自己找的话方便,一方 ...

最新文章

  1. 一卡顶四卡,清华推出工具包BMInf玩转百亿大模型
  2. avalon $computed不起作用?
  3. C++初学基础知识——注释、变量、基本数据类型
  4. 有些道理经历过就是道理,没经历过可能就是心灵鸡汤。
  5. 五桌面工具来创建优秀的Windows环境
  6. python两列相乘_如何将pandas中具有不同索引的两列相乘?
  7. QT设置相对路径最简单方法
  8. php yii2模块,Yii2 之 frontend 子模块实践之四:路由美化
  9. Zabbix通过Smokeping检测网络质量并告警
  10. android组件化数据生命周期,Android组件化开发实践(七):开发常见问题及解决方案...
  11. Vivado中常用的几种仿真浅论
  12. Android 抓包工具
  13. Android11 如何将系统默认设置中文
  14. c语言汇编混合编译不了,IAR汇编与C语言混合编程的问题(内附源程序)
  15. 数通 | 静态路由表的配置(含负载分担、路由备份)
  16. word尝试打开文件时遇到错误 解决方法
  17. BIM技术在家装中有5大应用,您知道吗?
  18. 基于JAVA实现的超级马里奥(Super Mario)游戏
  19. 将VS2019设置成英文版
  20. 今日金融词汇---金融衍生品,是什么?

热门文章

  1. vue中使用cookies和crypto-js实现记住密码和加密
  2. 第十三届东北师范大学程序设计竞赛热身赛 C(exgcd+欧拉函数)
  3. 130242014037-汤毓聪-实验一
  4. (转载)控制反转(IoC)与依赖注入(DI)
  5. android studio -genymotion神奇错误
  6. 第二阶段--个人冲刺--第十天
  7. 目录与文件的相关操作
  8. 【Codeforces #130 Div2】Solutions
  9. 微软MIX11大会第一天主旨以及新产品发布总结
  10. 配置节处理程序时出错,未能加载文件或程序集