竹海码路(frontend篇3)---------- OOP跟我来

本文介绍Python面向对象编程的基础概念,包括类的定义、对象的创建、属性和方法的使用,并展示了如何通过继承实现代码复用及多态的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

世界一切 归于尘土

all is object

两大杀手锏:对象     类

三大武器:封装;继承;多态

#!/usrself=Nonepython
# -*- coding: utf-8 -*-
# @File  : people.py
# @Author: wmy
# @Date  : 2018/1/21
class Person: aera = '地球' def __init__(self,name,age): self.name = name self.age = age def display_info(self): print(" -->%s已经%d岁,"%(self.name,self.age)) print("现住在%s..."%self.aera) p1 = Person('zhangsan',20) p1.display_info() 
以上给出了一个简单的类,其中p1为实例对象。
添加属性:
p1.sex = 'male'
打印结果如下:
 -->zhangsan已经20岁,
现住在地球...
male
python很容易对类的属性进行操作。
 
现在构造第二个对象:
p2 = Person('张天',40)
p2.display_info()
 
输出结果如下:
 -->张天已经40岁,
现住在地球...
公共类变量:节省存储空间
继承如下
 
class Teacher(Person): def __init__(self,name,age,school): Person.__init__(self,name,age) self.school = school def display_info(self): Person.display_info(self) print('%s在%s学校任职'%(self.name,self.school))

通过类似公共接口的父类info函数,实现多态。这是Java不能如此简单实现的。
class Person:
    aera = '地球'
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def display_info(self):
        print(" -->%s已经%d岁,"%(self.name,self.age))
        print("现住在%s..."%self.aera)

    @staticmethod
    def info(obj):
        obj.display_info()

class Teacher(Person):
    def __init__(self,name,age,school):
        Person.__init__(self,name,age)
        self.school = school
    def display_info(self):
        Person.display_info(self)
        print('%s在%s学校任职'%(self.name,self.school))

class Doctor(Person):
    def __init__(self,name,age,medicine):
        Person.__init__(self,name,age)
        self.medicine = medicine
    def display_info(self):
        Person.display_info(self)
        print('%s在%s医院任职'%(self.name,self.medicine))

t = Teacher('马玉',20,'第二中学')
d = Doctor('赵慎',34,'华西医院')
t.display_info()
d.display_info()
print('-------------------------')
p = Person('福清',40)
p.info(t)
p.info(d)
结果如下:
 -->张丹已经20岁,
现住在地球...
张丹在第二中学学校任职
 -->扑打已经34岁,
现住在地球...
扑打在华西医院医院任职
-------------------------
 -->张丹已经20岁,
现住在地球...
张丹在第二中学学校任职
 -->扑打已经34岁,
现住在地球...
扑打在华西医院医院任职

小编带领大家学习了一下Python,这种语言面向编程相对Java和C++来说。简单许多哟!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

竹海EE---(Mickey WMY)

您的估计是对笔者工作的最大支持

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

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

打赏作者

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

抵扣说明:

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

余额充值