面向对象技术简介
类(Class):用来描述具有相同属性和方法的对象的集合。它定义集合中每个对象共有的属性和方法。对象是类的实例。
类变量:类变量在实例化对象中是通用的。类变量在类内和函数体外定义。类变量一般不作为实例变量使用。
数据成员:类变量或实例变量用于处理与类及其实例对象相关的数据。
方法重写:如果从父类继承的方法不能满足子类的需要,可以重写。这个过程称为方法覆盖,也称为方法重写。
局部变量:方法中定义的变量只适用于当前实例的类。
实例变量:在类的声明中,属性由变量表示。此类变量称为实例变量,在类声明内部但在类的其他成员方法之外声明。
继承:即派生类(derived class)继承了基类(base class)的字段和方法。继承还允许派生类的对象被视为基类的对象。比如有这样一种设计:从Animal类派生出一个Dog类型的对象,它模拟了“is-a”关系(比如Dog是Animal)。
实例化:创建一个类的实例,类的具体对象。
方法:类中定义的函数。
对象:由类定义的数据结构的实例。对象由两个数据成员(类变量和实例变量)和方法组成。
与其他编程语言相比,Python 增加了一种类机制,而尽可能不增加新的语法和语义。
Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许有多个基类,派生类可以覆盖基类中的任意方法,方法可以调用基类中的同名方法。
对象可以包含任意数量和类型的数据。
类定义
语法格式如下:
class ClassName:
<statement-1>
.
.
.
<statement-N>
一个类被实例化之后,就可以使用它的属性了,其实就是在一个类被创建之后,可以通过类名来访问它的属性。
类对象
类对象支持两种操作:属性引用和实例化。
属性引用使用与 Python 中所有属性引用相同的标准语法:obj.name。
创建类对象后,类命名空间中的所有名称都是有效的属性名称。所以如果类定义是这样的:
#!/usr/bin/python3
class MyClass:
"""一个简单的类实例"""
i = 12345
def f(self):
return 'hello world'
# 实例化类
x = MyClass()
# 访问类的属性和方法
print("MyClass 类的属性 i 为:", x.i)
print("MyClass 类的方法 f 输出为:", x.f())
实例化类:
# 实例化类
x = MyClass()
# 访问类的属性和方法
上面创建了一个新的类实例并将该对象赋值给局部变量 x,其中 x 是一个空对象。
执行以上程序输出结果为:
MyClass 类的属性 i 为: 12345
MyClass 类的方法 f 输出为: hello world
许多类倾向于创建具有初始状态的对象。因此,一个类可能会定义一个名为 __init__() 的特殊方法(构造函数),如下所示:
def __init__(self):
self.data = []
如果类定义了__init__()方法,则类的实例化会自动调用__init__()方法。所以在下面的例子中,可以像这样创建一个新实例:
x = MyClass()
当然__init__()方法可以有参数,参数通过__init__()传递给类的实例化操作。例如:
>>> class Complex:
... def __init__(self, realpart, imagpart):
... self.r = realpart
... self.i = imagpart
...
>>> x = Complex(3.0, -4.5)
>>> x.r, x.i
(3.0, -4.5)
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python列表缓存的探索09/27
- ♥ python字符类的使用01/14
- ♥ python适合做网站吗?12/02
- ♥ 如何在python中安装pyenv12/12
- ♥ Python如何创建对象以及有哪些方法?09/30
- ♥ 一文了解Python的pip工具12/22
内容反馈