一、多态 :python 天生支持多态
多态指的是一类事物有多种形态 eg:文件有多种形态:文本文件,可执行文件
鸭子类型:python中崇尚鸭子类型,不崇尚根据继承所得来的相似
优点 : 松耦合 每个相似的类之间都没有影响
缺点 : 太随意了,只能靠自觉
#eg序列类型有多种形态:字符串,列表,元组,但他们直接没有直接的继承关系
#eg:如果两个类刚好相似,并不产生父类的子类的兄弟关系,而是鸭子类型
#eg:list tuple 这种相似,是自己写代码的时候约束的,而不是通过父类约束的

举例

class Tuple:
def __len__(self):
return 'aaa'
class List:
def __len__(self):
return 'qqq'
def len(a):
return a.__len__()
l=list()
len(l)
二、封装: 隐藏对象的属性和实现细节,仅对外提供公共访问方式。
# 【好处】
"""
1. 将变化隔离;
2. 便于使用;
3. 提高复用性;
4. 提高安全性;
"""
# 【封装原则】
"""
1. 将不需要对外提供的内容都隐藏起来;
2. 把属性都隐藏,提供公共方法对其访问。
"""
class Person:
__key=123 # 私有 静态属性
def __init__(self,name,passwd):
self.name=name
self.__passwd=passwd # 私用 动态属性
def __get_passwd(self): #私有方法
return self.__passwd
def login(self):
self.__get_passwd() #支持每部调用查看
#私有方法不能再外部调用,但是我们也是可以加上类名就能调用了,但是不建议使用
join=Person('join',123)
print(join._Person__passwd) #

三、小结

# 所有的私有 都是在变量的左边加上双下划綫
# 对象的私有属性
# 类中的私有方法
# 类中的静态私有属性
# 所有的私有的 都不能在类的外部使用

python--面向对象:多态与封装的更多相关文章

  1. Python面向对象三要素-封装(Encapsulation)

    Python面向对象三要素-封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装概述 将数据和操作组织到类中,即属性和方法 将数据隐藏起来,给 ...

  2. 【基础】Equal方法、面向对象-多态-继承-封装

    package Test; public class L3_1 { public static void main(String[] args) { C c1=new C(100); C c2=new ...

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

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

  4. python面向对象中的封装、继承、多态

    封装 可以简单的理解为隐藏一切可以隐藏的实现细节,只向外界提供简单的编程接口.我们在类中定义的方法其实就是把数据和数据的操作封装起来了,在我们创建了对象之后,只需要给对象发送一个消息(调用方法)就可以 ...

  5. Python面向对象三大特性(封装、继承、多态)

    封装 类中把某些属性和方法隐藏起来,或者定义为私有,只在类的内部使用,在类的外部无法访问,或者留下少量的接口(函数)供外部访问:从上一篇文章中的私有属性与私有方法中的代码体现了该特性. class m ...

  6. Python编程-多态、封装、特性

    一.多态与多态性 1.多态 (1)什么是多态 多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承) 序列类型有多种形态:字符串,列表,元组. 动物有多种形态:人,狗,猪 文 ...

  7. Python面向对象(多态)

    day24 面向对象三大特性:多态 Python原生就是多态的.

  8. Python()- 面向对象三大特性----封装

    封装: [封装]         隐藏对象的属性和实现细节,仅对外提供公共访问方式.[好处] 1. 将变化隔离: 2. 便于使用:3. 提高复用性: 4. 提高安全性:[封装原则]      1. 将 ...

  9. Python面向对象----多态和鸭子类型

    1. C#中多态实现的条件是 继承, 重写以及父类指向子类. 但是在弱类型Python里面, 实现多态的条件就显得很简洁, 只需要在子类中实现父类相同名称的方法即可. 2. 鸭子类型的解释: 若一个类 ...

  10. Python面向对象——多态

    多态的作用 调用不同的子类将会产生不同的行为. 多态是在继承上实现的. 图解多态1 图解多态2 图解多态1代码 class AudioFile: def __init__(self, filename ...

随机推荐

  1. 20140923 cin.get() getline cin

    #include<iostream> #include<string> using namespace std; int main() {     string title; ...

  2. (1.1)学习笔记之mysql体系结构(内存、进程、线程)

    关键词:mysql体系结构 参考:https://www.cnblogs.com/zhoubaojian/articles/7866292.html 一.mysql体系架构概述 1.mysql体系结构 ...

  3. 8种常见SQL错误用法,你中招了吗?

    作者:db匠 来源:https://yq.aliyun.com/articles/72501 1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句, ...

  4. Myeclipse中dtd代码提示

    1.Myeclipse -->窗口 --> 首选项 2.输入xml c,然后添加 3.输入键 例如:http://struts.apache.org/dtds/struts-2.3.dtd ...

  5. CG-CTF pwn部分wp

    面向pwn刷cgctfPWN1,When did you born题目给了一个ELF文件,和一个.C文件先运行ELF,大概如下What’s Your Birth?0What’s Your Name?0 ...

  6. OI中的快速傅里叶变换(FFT)

    快速傅里叶变换(FFT)                                                                               ---- LLpp ...

  7. 检查目录下 文件的权限-linux shell脚本

    #!/bin/bash #History: #2019/07/23    Fsq #This Program will check Permissions on dir PATH=/bin:/sbin ...

  8. 视频专家之路【三】:Vs开发环境的搭建

    本文是听了雷宵骅大神的课之后的总结,部分内容借用了其PPT的内容,如有侵权请告知删除. 雷宵骅大神的博客为:https://blog.csdn.net/leixiaohua1020 这里提及一点,原来 ...

  9. Allowance

    Allowance 有n种数字,第i种数字值为\(v_i\),有\(b_i\)个,保证随i的增大而增大,且对于任意i有\(a_{i-1}|a_i\)(显然,\(i\in(1,n]\)),现求将它们划分 ...

  10. 61. File类

    IO技术主要作用是解决设备与设备之间的数据传输问题.比如:硬盘---->内存     内存的数据---->硬盘上    把硬盘的数据------>内存中 IO技术的应用场景:     ...