Python之面向对象:类

本文介绍了Python中的面向对象编程,包括类的定义、实例化和三大特性——封装、继承和多态。类是具有共同属性和方法的对象集合,实例是类的具体表现。封装通过隐藏内部实现,提供接口调用;继承允许子类继承父类的属性和方法;多态则允许子类覆盖或扩展父类的功能。文中还提供了实例代码,展示了如何创建和使用类。

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

主要从以下三个方面讲述类:

(1)什么叫面向对象,为什么要面向对象?

(2)Python类的三大特性:封装、继承、多态。

(3)类的基本概念。

(4)类的例子和关键点解释。

1. 什么叫面向对象,为什么要面向对象?

将大家共有的特性剥离出来进行抽象的过程就是面向对象,这是“面向对象”最直观的理解。面向对象

个人理解,类就相当于一个函数,只不过“这些函数”具有可继承等好处。为了和函数有所区别,不易混淆,那就要做得复杂点,让大家重视起来!!。。。针对,类里面有很多对象的时候,这个就凸显出类定义的好处。

2. Python的三大特性:封装、继承、多态。

  1. 封装:抽象出对象的属性或功能,形成(即封装成)一个有机的整体(即类)。将内部实现包裹起来,对外透明,提供api接口进行调用的机制。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。
  2. 继承:就是子类可以继承父类的变量和方法。例如Animal是父类,有手、脚的属性;Cat是子类,也有手、脚的属性,不需要额外定义,只需要继承就可以了。
  3. 多态:根据对象类型的不同以不同的方式进行处理。

多态:就是子类的属性或功能可以覆盖掉父类的属性或功能。例如Animal是父类,有手、脚的属性;Cat是子类,也有手、脚的属性。当Cat继承父类Animal的属性,Cat也可以自己定义手、脚的属性,从而形成多种多样的属性。

3. 类的基本概念。

一些专业术语概念,既然有面向对象编程这个高大上的定义了,自然要搭配一些高大上的概念。

  1. 类(Class): 用来描述具有相同属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。其中的对象被称作类的实例。
  2. 实例:也称对象。通过类定义的初始化方法,赋予具体的值,成为一个”有血有肉的实体”。
  3. 实例化:创建类的实例的过程或操作。
  4. 实例变量:定义在实例中的变量,只作用于当前实例。
  5. 类变量:类变量是所有实例公有的变量。类变量定义在类中,但在方法体之外。
  6. 数据成员:类变量、实例变量、方法、类方法、静态方法和属性等的统称。
  7. 方法:类中定义的函数。
  8. 静态方法:不需要实例化就可以由类执行的方法
  9. 类方法:类方法是将类本身作为对象进行操作的方法。
  10. 方法重写:如果从父类继承的方法不能满足子类的需求,可以对父类的方法进行改写,这个过程也称override。

4. 类的例子和关键点解释。

class studetn:
    # 定义一个类名为studetn
    def __init__(self,idx):
    # 定义初始化构造,这里使用init,还有别的属性比如reversed,iter之类的
        self.idx=idx
        # 初始化变量,方便继承
    def runx(self):
    # 定义运行函数,从上面继承变量
        print self.idx
        # 打印出idx的值,或者做一些别的处理
        time.sleep(1)
a=studetn('a')
a.runx()
# 这是类的调用,一定要记得类的使用方法,首先传入参数,类赋值给一个变量a
# 然后调用这个类下面定义的函数

(1)"init" 方法为Python中的构造方法,用于初始化我们的类,也就是初始化我们希望的共有属性,同时构造方法中可以执行该类中其他的函数。

(2)self是一个形式参数,为该类的实例化对象,例如 a = My_Class() 中,可以理解a就是self参数。

(3)创建对象时,类的后面需要加括号,即完成类的实例化,同时Python会自动查找该类中的构造方法。

(4)类中如果定义了多个功能函数,那么这些函数可以称之为该类实例化对象所拥有的方法

 

参考:https://www.jianshu.com/p/331acd35e722

多态的理解还可以参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017497232674368

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值