【Python学习】Python学习20- 面向对象(2)

发布时间:2024年01月17日

主图==========

目录

【Python学习】Python学习20- 面向对象(2)


文章所属专区 Python学习


前言

本章节主要说明Python的面向对象的处理。

类的继承

通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类
语法:

class 派生类名(基类名)
    ...

特点

1、如果在子类中需要父类的构造方法就需要显式的调用父类的构造方法,或者不重写父类的构造方法。详细说明可查看:
python 子类继承父类构造函数说明
2、在调用基类的方法时,需要加上基类的类名前缀,且需要带上 self 参数变量。区别在于类中调用普通函数时并不需要带上 self 参数
3、Python 总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。

实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

class Parent:
    parentParam = 0
    def __init__(self):
        #父类构造函数
        self.name = "parent"
        self.age = 18

    def parentMethod(self):
        print "parent method"

    def setParam(self,param):
        Parent.parentParam = param

    def getParam(self):
        print "父类属性:",Parent.parentParam

class Child(Parent):
    def __init__(self):
        print "child __init__"

    def childMethod(self):
        print "child method"

c = Child() #实例化子类Child
c.childMethod() #调用子类方法
c.parentMethod() #调用父类方法
c.setParam(100) #调用父类方法设置参数
c.getParam() #用父类方法获取参数

在这里插入图片描述

方法重写

如果你的父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法:

    def parentMethod(self, param):
        print "子类重写父类方法 获取子类参数:",param
c.parentMethod(1) #调用重写后的父类方法

基础重载方法

在这里插入图片描述

#!/usr/bin/python
 
class Vector:
   def __init__(self, a, b):
      self.a = a
      self.b = b
 
   def __str__(self):
      return 'Vector (%d, %d)' % (self.a, self.b)
   
   def __add__(self,other):
      return Vector(self.a + other.a, self.b + other.b)
 
v1 = Vector(2,10)
v2 = Vector(5,-2)
print v1 + v2

在这里插入图片描述

参考

菜鸟教程-Python

给个三连吧 谢谢谢谢谢谢了
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_43238568/article/details/135660382
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。