python面向对象三大特性,各有什么用处_面向对象语言三大特性

python面向对象三大特性,各有什么用处_面向对象语言三大特性python面向对象三大特性继承,封装,多态1.封装体现在两个方面:将同一类方法封装到了一个类中将数据封装到对象中,在实例化对象时,可以通过__init__初始化方法在对象中封装一些数据,便于以后使用2.继承子类继承父类中的方法和类变量(不是拷贝一份,父类还是属于父类,子类可以继承而已)父类又称基类子类又称派生类classBase:deffunc(self):print(“base”)#Son继承BaseclassSon(Base):

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

python面向对象三大特性

继承,封装,多态

1.封装

体现在两个方面:

  • 将同一类方法封装到了一个类中
  • 将数据封装到对象中,在实例化对象时,可以通过__init__初始化方法在对象中封装一些数据,便于以后使用

2.继承

子类继承父类中的方法和类变量(不是拷贝一份,父类还是属于父类,子类可以继承而已)

  • 父类又称基类
  • 子类又称派生类

在这里插入图片描述

class Base:
    def func(self):
        print("base")
#Son继承Base
class Son(Base):
    def show(self):
        print("son")
s1=Son()
s1.show()
#s1调用func(),自己没有,找父类
s1.func()

Jetbrains全家桶1年46,售后保障稳定

在这里插入图片描述

小结

  • 执行对象.方法时,优先去当前对象所关联的类中找,没有再去父类找
  • python支持多继承:先继承左边,在继承右边
  • 确认self到底是谁?去self对应的那个类中去获取成员,没有就按照继承关系向上查找
  • 继承存在的意义:将公共的方法提取到父类中,增强代码的重用性
  • 继承方式
    • 继承
    • 多继承
  • 调用类中的成员,规则
    • 优先在自己的类中找,没有去父类找
    • 存在多继承(多个父类),先左后右

3.多态

多态,字面意思就是多种形态

由于python对数据类型没有任何限制,所以他天生支持多态

def func(arg):
    v1=arg.copy()
    print(v1)
func(['wxy'])
func([1,2,3])
class Email(object):
    def send(self):
        print("发邮件")
class Message(object):
    def send(self):
        print("发短信")
def func(arg):
    v1=arg.send()
    print(v1)
v1=Email()
#将v1对象以参数的形式传入给func()函数
func(v1)
v2=Message()
#将v2对象以参数的形式传入给func()函数
func(v2)
# 发邮件
# None
# 发短信
# None

在程序设计中,鸭子类型(duck typing)是动态类型的一种风格,在鸭子类型中,关注点在于对象的行为,能做什么;而不是关心对象所属的类

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209847.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 浅谈单调队列

    浅谈单调队列单调队列是指:队列中元素之间的关系具有单调性,而且,队首和队尾都可以进行出队操作,只有队尾可以进行入队操作。队列是一种先进先出(FIFOFirstInFirstOut)的数据结构,它类似于下面这幅图:队列的进出方式类似于平时我们排队打饭,来排队的人从队尾进入,打完饭的人从队头弹出。队列的在程序中储存的方式有很多,OI中最为常用的是使用头指针head和尾指针tail进行存储头指针指…

    2022年6月25日
  • 最新最全的云开发入门教程,微信小程序云开发,云函数,云数据库学习,微信小程序云开发扩展功能学习

    最新最全的云开发入门教程,微信小程序云开发,云函数,云数据库学习,微信小程序云开发扩展功能学习零基础入门小程序云开发云函数

    2022年5月1日
  • 我为什么离开神州泰岳

    我为什么离开神州泰岳

    2021年11月13日
  • 经典面试题 HTTPS和HTTP有什么区别?[通俗易懂]

    经典面试题 HTTPS和HTTP有什么区别?[通俗易懂]使用HTTPS协议可认证用户和服务器,确保数据发送正确;HTTPS协议要比http协议安全,防止数据不被窃取、改变,确保数据的完整性;HTTPS是现行架构下比较安全的解决方案,大幅增加了中间人攻击的成本。相比之HTTP,HTTPS已经是现行架构下比较安全的解决方案,也需要我们再不断学习,跟上时代技术的迭代。

    2022年10月16日
  • 用户体验–NPS&满意度指标[通俗易懂]

    用户体验–NPS&满意度指标[通俗易懂]一、NPS1.什么是NPS值?NPS值(NetPromoterScore,净推荐值)是度量“客户向他人推荐某品牌/产品/服务倾向”的指标,是当前国际通用的衡量客户行为忠诚的核心指标,本质上是一种客户口碑及行为忠诚2.为什么要持续监控NPS?通过教育行业调研发现,口碑推荐是用户愿意体验尝试产品的最主要、也是最为信任的渠道,同时也是在促进用户购买决策中起到至关重要的作用,因此要持续监控NPS指标,营造口碑效应3.NPS得分如何获取?目前业务NPS均通过产品化手段实现NPS调研问卷的回收,.

    2022年5月27日
  • kali密码爆破工具_目录对比工具

    kali密码爆破工具_目录对比工具一、下载与安装百度云下载链接:https://pan.baidu.com/s/1Df4wJy2jZ3kRx_aROWy1PQ(提取码:vfcn) 下载之后解压然后使用工具将解压后的目录移动到Linux中(此处我们选择Kali)进入dirsearch-maser目录之后,其中的“dirsearch.py”就是我们可以使用的dirsearch工具,但是我们没有权限执行该文件,所以需…

    2022年10月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号