四时宝库

程序员的知识宝库

Python面向对象编程:类(python面向对象类属性)

面向对象编程

以下引用自百度百科“面向对象程序设计”词条:

面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。

面向对象程序设计以对象为核心,该方法认为程序由一系列对象组成。类是对现实世界的抽象,包括表示静态属性的数据和对数据的操作,对象是类的实例化。对象间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。在面向对象的程序设计中,对象是组成程序的基本模块。

特点包括:封装性、继承性、多态性。

对象(Object) 指可以对其做事情的一些东西。一个对象有状态、行为和标识三种属性。

类(Class)是一个共享相同结构和行为的对象的集合。类定义了一件事物的抽象特点。通常来说,类定义了事物的属性和它可以做到的(它的行为)。举例来说,“狗”这个类会包含狗的一切基础特征,例如它的孕育、毛皮颜色和吠叫的能力。类可以为程序提供模版和结构。一个类的方法和属性被称为“成员”。

根据类来创建对象称为实例化,创建的对象是类的实例(Instance)。

创建类

以下模拟小狗来创建Dog类,它有名字和年龄属性,有坐下、打滚的行为。

class Dog:
    '''模拟现实中的狗来创建类Dog'''

    def __init__(self, name, age):
        '''初始化属性name和age'''
        self.name = name
        self.age = age
    
    def sit(self):
        '''模拟狗坐下'''
        print(f'{self.name}坐下了')

    def roll_over(self):
        '''模拟狗打滚'''
        print(f'{self.name}打滚')

类的名称一般首字母大写。

类中的函数称为方法

__init__()方法:类的初始化方法,init前后有两个下划线。当创建类的实例时,会自动运行该方法。

__init__()方法中的self形参是必选的参数,且必须放在首位。self是实例本身的引用。其它的参数可以根据需要设定,不限数量。

类中定义了sit()和roll_over()两个方法来模拟狗坐下和打滚动作。

创建实例

一个类可以创建多个实例。

dog1 = Dog('小白', 2) #实例化Dog类,实例名称为dog1
dog2 = Dog('旺才', 3) #实例化Dog类,实例名称为dog2

print(f'第一只狗名叫{dog1.name},{dog1.age}岁了。') #访问实例的属性
print(f'第二只狗名叫{dog2.name},{dog2.age}岁了。') #访问实例的属性

dog1.sit() #调用实例的方法,小白坐下
dog2.roll_over() #调用实例的方法,旺才打滚

'''执行结果:
第一只狗名叫小白,2岁了。
第二只狗名叫旺才,3岁了。
小白坐下了
旺才在打滚
'''

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接