简介
- 前置知识:基础的面向对象的概念
本文主要简述若何在
P
y
t
h
o
n
3
Python3
Python3 中使用面向对象的相关内容 - 后文把
a
t
t
r
i
b
u
t
e
attribute
attribute 翻译成字段,把
p
r
o
p
e
r
t
y
property
property 翻译成属性,这是两种不同的内容
简单类使用
class MyClass:
val = 10
__val2 = 10
def func(self):
return self.val
def __func2(self):
return self.val2
c = MyClass()
print(c.val)
print(c.func())
注意,类的方法的第一个参数一定要给定 self ,名字是可以任意的,但是规范一般命名为 self 这个代表类的实例,代表当前对象的地址,而非是类。
class MyClass:
def __init__(self):
self.val = 10
def func(self):
return self.val
当然,构造函数也可以带参数,和别的语言一样。
class MyClass:
def __init__(self,arg1,arg2):
self.val1 = arg1
self.val2 = arg2
继承
class DerivedClassName(BaseClassName):
def __init__(self):
BaseClassName.__init__(self)
def speak(self):
pass
多继承
-
P
y
t
h
o
n
Python
Python 支持多继承,定义如下:
class DerivedClassName(Base1,Base2,Base3):
pass
运算符重载
- 我们可以对类的专有方法进行重载
比如如下的专有方法:
__add__
__sub__
__mul__
__truediv__
__mod__
__pow__
比如可以写成:
def __add__(self,other):
return self.a + other.a
|