#5月学习挑战#Python入门-面向对象编程-类的基础操作

一般用法

类是面向对象的一个中重要组成,让开发者能够更好的抽象业务。其基本用法如下:

class Student:
    def __init__(self, no, name, age):
        self.fields = {
            'no': no,
            'name': name,
            'age': age
        }

    def dump(self):
        for field_name in self.fields:
            field_value = self.fields[field_name]
            print(f'* {field_name}:{field_value}')

if __name__ == '__main__':
    students = []
    for i in range(0, 3):
        s = NormalStudent(i, f'somebody_{i}', 20+i)
        students.append(s)

    for s in students:
        print('')
        s.dump()
        
# * no:0
# * name:somebody_0
# * age:20
# 
# * no:1
# * name:somebody_1
# * age:21
# 
# * no:2
# * name:somebody_2
# * age:22

__init__(self, params...)为其构造方法,具体用如上。

需要注意的是,成员变量和成员方法都要通过self来关联。这个习惯和Java不同,成员变量一定要通过self.xxx来赋值,否则会在代码运行中各种懵逼,别问我咋知道的。

继承
class NormalStudent(Student):
    def __init__(self, no, name, age):
        self.fields = {
            'no': no,
            'name': name,
            'age': age,
            'type' : normal 
        }


if __name__ == '__main__':
    students = []
    for i in range(0, 3):
        s = NormalStudent(i, f'somebody_{i}', 20+i)
        students.append(s)

    for s in students:
        print('')
        s.dump()

# * no:0
# * name:somebody_0
# * age:20
# * type:normal
# 
# * no:1
# * name:somebody_1
# * age:21
# * type:normal
# 
# * no:2
# * name:somebody_2
# * age:22
# * type:normal

分析上述代码可知,重写了构造方法,继承了dump方法,所以有了上述输出。

私有变量和私有方法

面向对象三大特征:封装、继承、多态。既然考虑到了对业务抽象为类,那必定要考虑将方法尽量的封装,常用的private声明方式如下,在变量和方法前添加__,如下。

def __privateMethod(self):
    self.__num = 0
    pass
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kiba_zwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值