动手学Python系列之Python面向对象编程(二)

本文深入探讨Python的面向对象编程,包括类和对象的概念,以及面向对象的三大特性:封装、继承和多态。通过实例解释了如何定义类,使用__init__构造方法,以及如何实现静态方法、普通方法和类方法。此外,文章还介绍了Python中的封装实现,以及如何通过继承和多态来扩展和复用代码。最后,讲解了类的重写和枚举类的应用。
摘要由CSDN通过智能技术生成

上一篇文章我们简单的介绍了面向对象编程和面向过程编程,并详细详细介绍了面向对象编程的一些术语,接下来,我们将继续学习面向对象编程,简单介绍类和对象,面向对象三大特征,及面向对象重载和重写。

Part.1 类和对象

面向对象中最重要的概念是类和对象,类是对于现实世界抽象的模板,对象是根据类创建出来的一个个具体的实例 。以动物为例,我们知道,动物是对于现实世界中物种的抽象,具体的猫狗鸡鸭等均可称为动物,动物可以作为一个类,那猫和狗也可以称之为对象。

图片

在python中,我们用 class 来定义类,比如说,我们定义一个猫的类,定义全局变量name为 cat 。


#  定义一个Cat类,在类体中定义类属性
class Cat:
    #  定义类属性species,来表示猫所属的物种
    name = "cat"

在类中,类方法表示类共有的行为。在类体中通过 def 来定义一个函数,来表示该类的方法。类有一个名为 __init__() 的特殊方法(构造方法),该方法在类实例化时会自动调用,该方法的主要作用在于初始化参数,其第一个参数永远为self,用于表示实例化对象本身。

pyhon中常见的方法简介。

静态方法: 用 @ staticmethod装饰的不带self参数的方法叫做静态方法,类的静态方法可以没有参数,可以直接使用类名调用。
普通方法: 默认有个self参数,且只能被对象调用。
类方法: 默认有个cls参数,可以被类和对象调用,需要加上 @ classmethod装饰器。


# -*- coding: utf-8 -*-
""" 
@Time    : 2021/8/28 10:35
@Author  : LYP
@FileName: pyOOP.py
@SoftWare: PyCharm
"""
class Cat :
    # 定义类属性species,来表示猫所属的物种
    species = "cat"
    #定义初始方法
    def __init__(self,name,age,):
        self.name=name
        self.age=age
    # 定义函数,输出猫的信息
    def catifo (self) :
        print("猫的名字为",self.name)
        print("猫的年龄为:",self.age)
    #定义函数,命令猫坐下
    def play( self):
        """ 命令猫坐下"""
        print(self.name+"  is  now playing")
    def sleep( self):
        print(self.name+"  is sleeping")

#实例化对象
Tom =Cat("Tom",2)
Tam =Cat("Toam",4)

#打印全局变量
print("Tom的类别是",Tom.species)
print("Tam的类别是",Tam.species)

#调用实例化类
Tom.catifo()
Tom.sleep()
Tom.play()

Tam.catifo()
Tam.play()
Tam.sleep()

在上述代码中,

1,方法 __init()__,  __init()__是一种特殊的方法,在这个方法中,开头和结尾各自有两个下划线,三个形参,self,name,age,在实例化时传入name,age即可

2,三个方法,catifo打印猫的基本信息,sleep和paly分别说明猫的状态,

3,实例化猫的类,将其定义为Tom,Tam,并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值