本文章适合小白参考。
在面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体存在的实体。从这个意义上看,日常所说的人,其实都是人的对象,而不是人类。
Python 定义类的简单语法如下:
class 类名:
执行语句...
零个到多个类变量...
零个到多个方法...
类名只要是一个合法的标识符即可,但这仅仅满足的是 Python 的语法要求:如果从程序的可读性方面来看,Python 的类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。
从上面定义来看,Python 的类定义有点像函数定义,都是以冒号(:)作为类体的开始,以统一缩进的部分作为类体的。区别只是函数定义使用 def 关键字,而类定义则使用 class 关键字。
Python 的类定义由类头(指 class 关键字和类名部分)和统一缩进的类体构成,在类体中最主要的两个成员就是类变量和方法。如果不为类定义任何类变量和方法,那么这个类就相当于一个空类,如果空类不需要其他可执行语句,则可使用 pass 语句作为占位符。例如,如下类定义是允许的:
class Empty:
pass
通常来说,空类没有太大的实际意义。
类中各成员之间的定义顺序没有任何影响,各成员之间可以相互调用。
代码主要写的是如何用python实现类的使用以及它的对象的初始化、创建对象、继承(父类、子类)的基本知识的讲解。
话不多说上代码:
class A(): #父类
def __init__(self,name,age,sex):#初始化
self.name=name
self.age=age
self.sex=sex
def info(self):
print(self.name,self.age,self.sex)
print('____________________________')
#子类
class student(A):#继承A类
def __init__(self,name,age,sex,studentyear):
super().__init__(name,age,sex)#继承爸爸有的方法,父亲有的,后代也有
self.studentyear=studentyear#爸爸没有的,我也有,这叫长江后浪推前浪
def info(self):
super().info()#继承爸爸有的方法,还是那句话,爸爸有的我也有,没有的我还有
print(self.studentyear)
#继承A类,与student类是一个父亲的亲兄弟、亲姐妹
class teachar(A):
def __init__(self,name,age,sex,teacharyear):
super().__init__(name,age,sex)#继承爸爸有的方法,父亲有的,后代也有
self.teacharyear=teacharyear#爸爸没有的,我也有,这叫长江后浪推前浪
def info(self):
super().info()
print(self.teacharyear)
#创建一个叫做stu1的student对象
stu1=student('张三',15,'男',13)
#访问这个对象的信息
stu1.info()
#创建一个叫做tea2的teacher对象
tea2=teachar('啥',45,'女',20)
#访问这个对象的信息
tea2.info()
#创建一个叫做a的A类对象,这是上面两个创建对象的爸爸父亲
a=A('李四',55,'男')
#访问这个爸爸的信息
a.info()
大概就是这么多啦