首先需要了解,什么是面向对象,大家可以看到我之前写的所有章节,里面的代码都是一个函数,没有一个整体的面向对象概念,大家可以简单看下下面对象的组成: #对象的组成 1、类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 2、类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。 3、数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。 4、方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。 5、实例变量:定义在方法中的变量,只作用于当前实例的类。 6、继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。 7、实例化:创建一个类的实例,类的具体对象。 8、方法:类中定义的函数。 9、对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
上面并不是所有都必须存在,比如有类、变量、方法也是属于一个对象。 有了上面的了解,我们直接进行代码演示:
class User:
'所有用户共有的属性'
_index = 0
def __init__(self,name,age):
self.name = name
self.age = age
User._index+=1
def show(self):
print("my name is ",self.name,"age is ",self.age," 我的序号是:",User._index) #这里不能直接写name
user1 = User("python学习者1号",22)
user1.show()
user2 = User("python学习者2号",21)
user2.show()
说明: ①_index是这个类的一个公共的属性 ②第一种方法__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法 ③self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。 需要注意的地方: 在show方法中,不能直接写User.age或者User.name,因为没有在方法外面定义,所以会报错,需要借助self。
好了,上面的就是一个简单类的介绍,也是作为自己学习的笔记,如果大家有不懂的地方,可以直接留言,我很乐意为你解答的,如果可以的话,也可以一起学习,一起进步。