Python基础知识点(9)— 面向对象程序设计

一.定义类

在 Python 中,类的定义使用class关键字来实现,语法如下:

class ClassName:
“类的帮助信息’”          # 类文档字符串
statement               #类体

参数说明:

  • ClassName:用于指定类名,一般使用大写字母开头,如果类名中包括两个单词,第二个单词的首字母也大写,这种命名方法也称为“驼峰式命名法”,这是惯例。当然,也可根据自己的习惯命名,但是一般推荐按照惯例来命名。
  • Statement:类体,主要由类变量(或类成员)、方法和属性等定义语句组成。如果在定义类时,没想好类的具体功能,也可以在类体中直接使用 pass 语句代替。

二.创建类的实例

class 语句本身并不创建该类的任何实例。所以在类定义完成以后,可以创建类的实例,即实例化该类的对象。创建类的实例的语法如下:

classname(parameterlist)

其中,ClassName是必选参数,用于指定具体的类;parameterlist是可选参数,当创建一个类时,没有创建__init__()方法,或者__init__()方法只有一个self参数时,parameterlist可以省略。

三.创建类的成员并访问 

所谓实例方法是指在类中定义的函数。该函数是一种在类的实例上操作的函数。实例方法的第一个参数必须是self,并且必须包含一个self参数。创建实例方法的语法格式如下:

def functionName(self,parameterlist):
block

参数说明:

  • functionName:用于指定方法名,一般使用小写字母开头。
  • Self:必要参数,表示类的实例,其名称可以是self以外的单词,使用
  • self 只是一个惯例而已。
  • Parameterlist:用于指定除self参数以外的参数,各参数间使用逗号“,”进行分隔。
  • Block:方法体,实现的具体功能。

实例方法创建完成后,可以通过类的实例名称和点(.)操作符进行访问,语法格式如下:

instanceName.functionName(parametervalue)

 参数说明:

  • instanceName:为类的实例名称。
  • functionName:为要调用的方法名称。
  • Parametervalue:表示为方法指定对应的实际参数,其值的个数与创建实例方法中parameterlist的个数相同。

四.创建用于计算的属性

通过@property创建用于计算的属性的语法格式如下:

@property
def methodname(self):
block

参数说明:

  • methodname:用于指定方法名,一般使用小写字母开头。该名称最后将作为创建的属性名。
  • Self:必要参数,表示类的实例。
  • Block:方法体,实现的具体功能。在方法体中,通常以retum语句结束,用于返回计算结果。

五.继承的基本语法

通过继承不仅可以实现代码的重用,还可以通过继承来理顺类与类之间的关系。在Python 中,可以在类定义语句中,类名右侧使用一对小括号将要继承的基类名称括起来,从而实现类的继承。具体的语法格式如下:

class ClassName(baseclasslist):
  '''类的帮助信息'''         #类文档字符串
  statement                    #类体

 参数说明:

  • ClassName:用于指定类名。
  • Baseclasslist:用于指定要继承的基类,可以有多个,类名之间用逗号“,”分隔。如果不指定,将使用所有Python对象的根类object。
  • “类的帮助信息’:用于指定类的文档字符串,定义该字符串后,在创建类的对象时,输入类名和左侧的括号“(”后,将显示该信息。
  • Statement:类体,主要由类变量(或类成员)、方法和属性等定义语句组成。如果在定义类时,没想好类的具体功能,也可以在类体中直接使用pass语句代替。

 六.方法重写

基类中定义的harvest()方法,无论派生类是什么水果都显示“水果……”,如果想要针对不同水果给出不同的提示,可以在派生类中重写harvest()方法。例如,在创建派生类Orange时,重harvest()方法的代码如下:

class Orange(Fruit):       # 定义橘子类(派生类)
    color=“橙色”
    def__init_(self):
         print(“\n 我是橘子”)
    def harvest(self, color):
         print(“橘子是:”+ color +“的!”)      # 输出的是形式参数color
         print(“橘子已经收获.....”)
         print(“橘子原来是:”+Fruit.color +“的!”);     # 输出的是类属性 color

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值