我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python3:面向对象(多态和继承、方

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python3:面向对象(多态和继承、方

1、多态

同一个方法在不同的类中最终呈现出不同的效果,即为多态。


class Triangle:
    def __init__(self,width,height):
        self.width = width
        self.height = height

    def getArea(self):
        area=self.width* self.height / 2
        return area

class Square:
    def __init__(self,size):
        self.size = size

    def getArea(self):    # 同一个方法在不同的类中最终呈现出不同的效果,即为多态
        area = self.size * self.size
        return area


a=Triangle(5,5)
print(a.getArea())
b=Square(5)
print(b.getArea())

执行效果如下:

2、继承

(1)子类可以继承父类所有的公有属性和公有方法:


class Father:
    money = 1000000

    def drive(self):
        print('I can drive a car!')
        
class Son(Father):
    pass
        
tom = Father()
print(tom.money)
tom.drive()

print('#'*50)

jerry=Son()
print(jerry.money)
jerry.drive()

执行后:

(2)对于父类的私有属性,子类不可以访问。

(3)对于多继承

多个父类的有相同的某个属性,子类只继承第一个父类的属性。

3、方法重载

子类重写父类的方法:


class Father:
    money = 1000000
    __money = 9999999
    def drive(self):
        print('I can drive a car!')
        
class Son(Father):
    def drive(self):     #重载父类的方法drive()
        print('I can drive a tank!')
        Father.drive(self)    #在子类中直接调用父类的方法drive()
    def pay(self):
        print(self.money)
        
tom = Father()
print(tom.money)
tom.drive()

print('#'*50)

jerry = Son()
jerry.drive()

执行后:

重载运算符


class Mylist:  #定义类Mylist
    __mylist = []

    def __init__(self,*args):
        self.mylist = []
        for arg in args:
            self.__mylist.append(arg)

    def __add__(self,x):   #定义操作+
        for i in range(0,len(self.__mylist)):  #依次遍历列表,执行加操作
            self.__mylist[i] = self.__mylist[i]+x
        return self.__mylist

    def __sub__(self,x):
        pass
    
    def __mul__(self,x):
        pass

    def __div__(self,x):
        pass

    def __mod__(self,x):
        pass

    def __pow__(self,x):
        pass

    def __len__(self,x):
        pass

    def show(self):   #显示列表中的数值
        print(self.__mylist)

if __name__ == '__main__':   #通过name的内置属性
    l = Mylist(1,2,3,4,5)  #定义一个列表对象
    l+10
    l.show()

4、模块

从交互解释器导入包,并调用包中的类和方法。如下:


>>> import claMylist
>>> dir(claMylist)
['Mylist', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
>>> import claMylist as cml
>>> ml=cml.Mylist(6,7,8,9,10)
>>> ml
<claMylist.Mylist object at 0x00000263F78D9240>
>>> ml.show()   #执行类中的方法show()
[6, 7, 8, 9, 10]
>>> ml+100
[106, 107, 108, 109, 110]
>>> x=ml+100   #将执行+操作后的值存放在x中
>>> x
[206, 207, 208, 209, 210]
>>> 

以上就是在面向对象中,多态、继承以及方法重载三大部分的知识点。学python也有一个礼拜之久了,深深地感受到这门语言的简洁美妙之处。操作起来非常的方便,也易于记忆。对我像我这样,从刚开始的C语言到后来面向对象C++、Java等,都不及这门python来的简单,就拿变量定义来说,之前学的都需要定义变量的类型,而现代化语言python不需要,可以说让我非常喜欢了!!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python3:面向对象(多态和继承、方

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python3:面向对象(多态和继承、方

1、多态同一个方法在不同的类中最终呈现出不同的效果,即为多态。class Triangle: def __init__(self,width,height): self.width = width self
2023-01-31

面向对象封装、继承、多态

一、面向对象封装 01. 封装封装 是面向对象编程的一大特点面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中外界 使用 类 创建 对象,然后 让对象调用方法对象方法的细节 都被 封装 在 类的内部 02. 小明跑
2023-01-31

PHP继承和多态:面向对象编程的艺术

PHP继承和多态是面向对象编程语言的基础知识,也是理解和掌握面向对象编程思想的关键。本文将详细介绍PHP继承和多态,并通过演示代码帮助读者理解这些概念。
PHP继承和多态:面向对象编程的艺术
2024-02-27

PHP继承和多态:面向对象编程的殿堂

继承和多态是面向对象编程(OOP)最重要的概念之一,在PHP中,继承和多态的概念和实现与其他OOP语言相似,本文将重点介绍PHP中的继承和多态,并通过代码示例进行演示。
PHP继承和多态:面向对象编程的殿堂
2024-02-27

面向对象多继承和网络编程

1.先找左再找右class A(object): passclass B(object): def f1(self): print('B')class C(A,B): passobj = C()obj.f1(
2023-01-30

PHP继承和多态:面向对象编程的必修课

本文将深入探讨PHP中的继承和多态概念,通过示例代码和实际应用情景,帮助您全面理解面向对象编程的核心思想,并掌握继承和多态的强大功能,助力您的PHP编程技能更上一层楼。
PHP继承和多态:面向对象编程的必修课
2024-02-27

深入浅析java中面向对象的继承和多态

深入浅析java中面向对象的继承和多态?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。继承和多态一.this super关键字1.this: 可以在构造器中的第一代码中调用本
2023-05-31

详解Java面向对象中的继承与多态

详解Java面向对象中的继承与多态?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java 继承与多态的深入理解1、 什么是继承,继承的特点?子类继承父类的特征和行为,使得
2023-05-31

Python面向对象——继承

#coding:utf-8"""术语:1、在python3中,自定义创建的类都默认继承了python类中名为object的类2、object类提供的方法,是双下划线开头的,是为了提供给python内部使用3、被继承的类叫做超类,或者叫做父类
2023-01-31

PHP继承和多态:面向对象编程的终极指南

PHP继承和多态是面向对象编程 (OOP) 的重要概念,它们允许您创建复杂且可重用的代码。在本指南中,您将学习如何使用继承和多态编写更有效和可维护的 PHP 代码。
PHP继承和多态:面向对象编程的终极指南
2024-02-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录