python第八次课-----面向对象

本文介绍了Python中的面向对象编程,包括对象、类和实例化的概念,强调了面向对象编程的特点,如一切皆为对象。详细讲解了类的定义、内置属性和方法,对比了面向过程与面向对象的区别,并通过烤地瓜的案例展示了面向对象的实现。同时,讨论了面向对象的三大要素:封装、继承和多态,以及如何设计私有属性和方法。
摘要由CSDN通过智能技术生成

一、面向对象简介

1、基础概念

        对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象

作为程序的基本单元,一个对象包含了数据和操作数据的函数。

        面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简

化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的

复杂度。

       在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型

就是面向对象中的类(Class)的概念。

1.1、对象

对象,是一个抽象概念,表示任意存在的事物,通常将对象划分为两个部分,即静态部分与动态部

分。静态部分被称为“属性”,任何对象都具备自身属性,这些属性不仅是客观存在的,而且是不能

被忽视的,如人的性别。动态部分是对象的行为,即对象执行的动作,如人的行走。

简单地说,对象其实就是类的实例化结果。

1.2、类

类是封装对象的属性和行为的载体,反过来说,具有相同属相和行为的一类实体被称为类,在

Python中,类是一种抽象概念,它是无法直接使用,必须将它实例化成一个对象以后,基于这个对

象才能使用。

1.3 、实例化

将一个抽象的类具体化到某一个具体的对象,这个过程实例化

补充:所有的对象,都是由类生成的,类具有的方法,其所有生成的对象都会具有

2、面向对象编程的特点

  • 一切皆为对象,如列表、字典、字符串、元组等

    • 例如:列表就是一个对象,列表中的每个元素也都是对象

    • python就是一堆对象集合

  • 每个对象都是实例化的结果

  • 每一类对象都具有自己特定的属性和方法

# 列表是一个类
​
# 创建一个列表对象【类的实例化】
li1 = [1,2,3]
​
# 列表类的方法
li.pop()
li.append()
​
# 字符串是一个类
​
# 创建字符串对象
str1 = "123"

3、面向对象简单实现

3.1  定义类的格式

# 定义经典类
class 类名():
    属性
    方法
​
# 定义新式类
class 类名(父类名):
    属性
    方法
​

补充说明:

  • 函数名:第二个单词首字母大写

  • 类名:每个单词首字母大写

案例:

# 定义一个类
class StuInfo():
    # 定义属性
    age = "10"
    name = "tom"​
    # 定义方法
    def showInfo(self):  # 类中的方法的第一个形参必须是self
        print("%s的年龄是%s"%(self.name, self.age))   # 加上self是去类内部找变量​
# 进行实例化,将实例化结果赋值给stu1变量
# stu1是一个对象
stu1 = StuInfo()​
# 显示类属性
print(stu1.age)
print(stu1.name)
# 调用类方法
stu1.showInfo()

案例:给类添加属性

# 定义一个类
class Car():
    # 定义一个属性
    speed = "30"
    # 定义一个方法
    def Run(self):
        print("品牌是%s, 车型是%s,汽车在行驶,速度是%s "%(myCar.carPai, myCar.carType, self.speed))
# 将类实例化成对象,将对象赋值给myCar
myCar = Car()
# 修改类中的属性
myCar.speed = "80"
# 给类添加属性
myCar.carType = "SUV"
myCar.carPai = "领克"
# 调用类方法
myCar.Run()

案例:类多次实例化的问题

# 定义一个类
class Car():
    carType = "SUV"
    carPai = "领克"
    # 定义一个方法
    def Run(self):
        print("品牌是%s, 车型是%s,汽车在行驶"%(self.carPai, self.carType))
​
# 将类实例化成对象,将对象赋值给myCar
myCar = Car()
# 给类添加属性
myCar.carType = "SUV"
myCar.carPai = "领克"
# 调用类方法
myCar.Run(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值