面向对象(类)

本文介绍了Python中的面向对象编程概念,包括类的定义和对象的特性。类是具有共同属性和行为的对象抽象,而对象是类的实例,拥有状态和行为。内容涵盖类的基础、单例模式、反射、类方法、实例方法、静态方法、继承(完全继承、部分继承)、私有属性和方法、以及多态。此外,还讨论了Python的object基类和多继承等核心概念。
摘要由CSDN通过智能技术生成

类的定义:类是对现实生活中一类具有共同特征的事物的抽象,为所有的对象定义了抽象的属性与行为

对象和类解释:
1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

2)类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述

1、类的基础

class rectangle:
    def __init__(self, length, width):
        self.length = length
        self.width = width

    def rouder(self):
        return (self.length + self.width) * 2

    def area(self):
        return self.length * self.width


if __name__ == '__main__':
    print(rectangle(2, 5).rouder())

    print(rectangle(2, 5).area())

#实例化的时候,类体rectangle一定要带上括号

class rectangle:
    list1=[1,3,5,6] #类属性,具有唯一性
    def __init__(self, length, width):
        self.length = length
        self.width = width
        self.list2=[4,5,45] # 实例属性,不唯一
    def rouder(self):
        return (self.length + self.width) * 2

    def area(self):
        return self.length * self.width


if __name__ == '__main__':

    print(rectangle.list1) #类属性可以不实例化就可以执行
    print(rectangle(2,3).list2)  #实例属性必须实例花才可以执行

类的单例模式

# 单例模式
# 一般情况下,类可以生产任意个实例,单例模式只生成一个
class Single:
    def __init__(self):  #初始化方法
        pass
    def __new__(cls, *args, **kwargs):  #构造方法,用于生成实例
        if not hasattr(cls,'obj'):  #判断类当中有没有实例方
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值