类的定义与使用

一、类的定义(相当于多个函数集合的定义)

例9.1定义一个矩形类,包含两个数据成员(属性参数):宽度和高度;该类提供两种方法(功能函数:求面积和周长

In [10]:

class Rectangle:      #定义一个矩形类Rectangle
    #(1)定义初始化方法(所有的类都有一个初始化方法)
    def __init__(self,width,height):   #第一个属性参数必须是self(类对象)
        self.width = width   #给实例属性赋初值(将实参传递给形参)
        self.height = height
        
    #(2)定义实例方法:
    def getArea(self):      #至少要有一个参数属性self
        S = self.width * self.height   #求面积值并赋给变量S,用self.属性访问
        return S   #返回S值
    
    def getPerimeter(self):
        C = (self.width + self.height) * 2
        return C

二、创建类对象(相当于函数的调用)

In [21]:

rect = Rectangle(10,6)  #创建Rectangle的对象(具体值即实参)rect

In [22]:

print('此矩形的宽为:',rect.width)   #在外部调用属性要用对象名.属性
print('此矩形的高为:',rect.height)
print('此矩形的面积为:',rect.height * rect.width)
print('此矩形的周长为:',2 * (rect.height + rect.width))  #调用(访问)方法一定带括号
此矩形的宽为: 10
此矩形的高为: 6
此矩形的面积为: 60
此矩形的周长为: 32

三、类的属性(变量)

1、实例属性:在方法内部通过‘self.属性变量名’定义和访问的变量(在外部通过‘对象名.变量名’名访问)
2、类属性:在所有方法之外定义的属性(变量)

四、类的方法(函数)

1、定义:与类相关的函数
2、类型:实例方法,类方法,静态方法
3、实例方法:至少包含一个对象参数,在内部通过self,方法('调用,在外部通过对象名.方法()’调用。

五、类的继承、重写与多态

1、继承:子类继承父类的方法
2、重写:了类可以重写子类的方法(方法名称相同)
3、多态:子类中方法名称相同但功能不同
4、示例如下:

In [20]:

#定义一个父类Person

class Person:
    #(1)初始化方法
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex
    
    #(2)实体方法:
    def study(self):
        print(self.name,'正在学习!')
        
    def show(self):
        print('姓名: {}\n年龄: {}\n性别: {}\n'.format(self.name,self.age,self.sex))

In [27]:

#定义一个子类Student
class Student(Person):    #定义一个父类为Person的子类Student
    #(1)初始方法:
    def __init__(self,name,age,sex,major):
        super().__init__(name,age,sex)    #用super()内置函数,继承父类的初始方法
        self.major = major   #添加类成员(重写)
        
    #(2)实例方法
    def show(self):   #方法的重写
        Person.show(self)   #用“父类名.方法”继承父类方法
        print('专业',self.major)   #添加方法功能

In [28]:

s = Student('花花','7','女','数字科学')  #创建类Student的对象s

In [29]:

s.study()    #调用父类方法
s.show()   #调用?的方法h

花花 正在学习!

 

姓名: 花花
年龄: 7
性别: 女

专业 数字科学

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值