06-Python类和对象

本文介绍了Python的面向对象编程,包括OOP的概念、与面向过程的区别、三大特性(继承、封装、多态)。深入讲解了类和对象、self的理解、初始化方法__init__、特殊方法如__new__和__del__、以及__str__方法的定义。同时,讨论了保护对象属性的方法、继承和多态的实现,并探讨了类属性与实例属性、类方法和静态方法的使用。
摘要由CSDN通过智能技术生成

Python类和对象

Python类和对象思维导图

1、面向对象编程介绍

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象是一种对现实世界理解和抽象的方法

“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态、封装),并且它们不允许混合持久化状态和域逻辑。

就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向过程是一件事“该怎么做“,面向对象是一件事“该让谁来做”,然后那个“谁”就是对象,他要怎么做是他自己的事,反正最后一群对象合力能把事做好就行了

面向对象三个特性:

  • 继承
  • 封装
  • 多态

2、类和对象

面向对象编程的2个非常重要的概念:类和对象

    • 人以类聚 物以群分。 具有相似内部状态和运动规律的实体的集合(或统称为抽象)。 具有相同属性和行为事物的统称
    • 类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在
    1. 对象
    • 某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。 可以是直接使用的
    1. 类和对象之间的关系
    • 关系

类的构成

  • 类(Class) 由3个部分构成

    • 类的名称:类名
    • 类的属性:一组数据
    • 类的方法:允许对进行操作的方法 (行为)

3、定义类与创建对象

1、类的定义

  • 语法:

    • class 类名: 方法列表
  • 说明:

    • 1、定义类时有2种:新式类和经典类,上面的Car为经典类,如果是Car(object)则为新式类
    • 2、类名的命名规则按照"大驼峰"

2、创建对象

  • 语法:

    • 对象名 = 类名()

4、self

1.、理解self

  • 看如下示例:

定义一个类

class Animal:

方法

def init(self, name):
self.name = name
def printName(self):
print(‘名字为:%s’%self.name)

定义一个函数

def myPrint(animal):
animal.printName()
dog1 = Animal(‘西西’)

  • 总结:

    • 1、所谓的self,可以理解为自己
    • 2、可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思
    • 3、某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可

2、init()方法

  • <1>使用方式

    • def 类名:
      #初始化函数,用来完成一些默认的设定
      def__init__():pass
  • <2>init()方法的调用

    • 定义汽车类

classCar:
def__init__(self):
self.wheelNum = 4
self.color = ‘蓝色’
defmove(self):
print(‘车在跑,目标:夏威夷’)

创建对象

BMW = Car()
print(‘车的颜色为:%s’%BMW.color)
print(‘车轮胎数量为:%d’%BMW.wheelNum)

  • 总结1:

    • 当创建Car对象后,在没有调用__init__()方法的前提下,BMW就默认拥有了2个属性wheelNum和color,原因是__init__()方法是在创建对象后,就立刻被默认调用了
  • 总结2:

    • 1、init()方法,在创建一个对象时默认被调用ÿ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值