python面向对象开发

面向对象开发

什么是对象呢?

一本书、一支笔、一个人都可以是对象,一个数据库、一个网页、一个与远程服务器的连接也可以是对象。当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程,对象就是对于单个事物的抽象化。

对象是是一个容器,封装了属性和方法,

属性是对象的状态,方法是对象的行为(完成某种任务)。比如说,我们可以把动物抽象为animal对象,使用属性记录具体是那一种动物,使用方法表示动物的某种行为(奔跑、捕猎、休息等等) 在实际开发中,对象是一个抽象的概念,可以将其简单理解为 : 数据集或功能集。

开发方式有两种:

面向过程的开发: 比较简单快捷,但是需要重复编写代码

面向对象的开发: 开发较复杂,需要考虑一类问题的处理,可以重复利用代码,不需要针对每个问题重复写代码

什么是面向对象呢?

1.面向对象是一种编程范式,它将程序中的数据和操作封装在一个对象中,从而使得程序更加模块化、可重用和易于维护。在面向对象编程中,对象是类的实例化,类是一种抽象的数据类型,它定义了一组属性和方法。

2.面向对象编程的核心思想是封装继承多态。封装是将数据和操作封装在一个对象中,隐藏对象的内部实现细节,只暴露必要的接口给外部访问。继承是通过继承父类的属性和方法,来创建一个新的子类,子类可以重写父类的属性和方法,从而实现更加灵活的功能。多态是指同一个方法可以根据不同对象的实现方式,实现不同的行为

举个例子:

面向对象就是把事务分解成一个个的对象,然后对象直接分工与合作。

将大象装进冰箱(需要几步),面向对象做法。

先找出对象,并写出这些对象的功能:

  1. 打开冰箱门

*进去

  1. 冰箱对象

*打开

*关闭

封装:对问题的归纳总结,封装为一个类

继承:对已经封装的类进行继承,在原来类的基础上可以再次增加新的内容

多态:同一个方法实现不同的操作

类的构成

类的设计有三要素,分别是类名、类的属性、类的方法。

面向对象开发流程

1 - 封装一个类

2 - 实用类创建一个对象

· 格式

·关键字 class

class people:    # people 是一个类名
    name = '张三'  # name 属性
    def eat(self):  # 方法
        print()
# 调用创建的对象
object = people() # 当前的对象是张三
# 调用执行某个行为
object.eat()

本质就是将变量和函数再次封装在一个类中

面向对象的基本使用

例子:如何将一个事务放入在空间内

# 使用面向对象方式开发程序
class Loading:
    # 属性
    name = None
    container = None
​
    # 方法
    def open_func(self):
        print(f'打开{self.container}')
​
    def load_func(self):
        print(f'把{self.name}放入{self.container}中')
​
    def close_func(self):
        print(f'关闭{self.container}')
​
​
l = Loading()
# 指定数据
l.name = '大象'
l.container = '冰箱'
# 执行数据处理方法
l.open_func()
l.load_func()
l.close_func()
​
# 如何把老虎关进笼子?
l2 = Loading()
l2.name='老虎'
l2.container='笼子'
# 执行数据处理方法
l2.open_func()
l2.load_func()
l2.close_func()

属性分类

类属性

class 类名:
    # 定义类属性,name 就是一个类属性
    name = None

对象属性

在方法中使用self定义的属性就是对象属性

class 类名:
    # 定义类属性,name 就是一个类属性
    name = None
    def func(self):
        # age是对象属性
        self.age = None

两种属性的区别

  • 类属性 可以被类的对象获取值 也可以被类执行获取对应值

  • 对象属性 只能被类的对象获取值

类的方法

魔法方法

类中自带的方法

init__() 在创建类对象时会调用的方法

str__() 在对对象进行print输出时调用

del__() 在删除对象时会被调用

# 类中的魔法方法
class A:
    # 类属性
    name = None
​
    # 使用魔法方法 格式是固定的
    # init 初始化方法 创建对象时会被自动执行
    def __init__(self):
        print('init被调用执行')
​
​
    def __del__(self):
        # 对象被销毁删除时会被自动执行
        print('del被调用执行')
​
​
    def __str__(self):
        # 当对象被print输出时,会将str中返回值进行输出
        return self.name
​
​
# 创建对象
a = A()
# 手动删除对象
# del a
# 输出对象
a.name = '张三'
# print时会自动调用str方法,获取返回值
print(a)
# 程序结束 对象会被自动删除
print('程序结束')
​

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值