Tips
•
类里的对象的前面加两个_就是表示私有。
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
#! /usr/bin/python3
class stu:
count=0 #类变量,所有类的实例里通用
def __init__(self,name):
self.name=name #实例变量,仅仅实例自己用
stu.count+=1
def pri(self): #申明的时候不能不加self
print(stu.count)
class class1(stu):
def __init__(self,name,age): #重新定义构造函数
stu.__init__(self,name) #调用爸爸的构造函数
self.age=age
def pri(self): # 方法重写
print("总人数:"+str(self.count))
a=stu("ljj") #实例化
b=stu("ljj")
c=class1("ljj",22)
a.pri() #调用的时候可以不加self
c.pri() # 上面和这里都输出3
•
实例化:
•
self : self 那里调用的时候传入 类的实例
emp1.showConunt(emp1)
•
类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
•
实例变量:定义在方法中的变量,只作用于当前实例的类。
•
数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。
•
继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
class chilename(fathername):
•
方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
想覆盖那个就在声明哪个重写
•
方法:类中定义的函数。
•
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
类的专有方法
init : 构造函数,在生成对象时调用 del : 析构函数,释放对象时使用 repr : 打印,转换 setitem : 按照索引赋值 getitem: 按照索引获取值 len: 获得长度 cmp: 比较运算 call: 函数调用 add: 加运算 sub: 减运算 mul: 乘运算 div: 除运算 mod: 求余运算 pow: 乘方
运算符重载
Python同样支持运算符重载,我们可以对类的专有方法进行重载,实例如下:
#!/usr/bin/python3
classVector:
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):
returnVector(self.a+ other.a, self.b+ other.b)
v1= Vector(2,10)
v2= Vector(5,-2)
print(v1+ v2)
评论区