第二十九章 面向对象(Python)


一、面向过程

面向过程编程(POP):按照业务逻辑从上到下设计程序的方式。 特点: 用一长段代码来实现指定功能,一步接一步,环环相扣。 缺点: 但是大型项目,如果使用面向过程编程,则很容易导致代码结构过于紧密、耦合度高,易出现代码冗余,不利于并且团队开发。

二、面向对象

面向对象编程 (OOP):将具有相关性的数据/行为封装成整体(对象),以整体的角度来完成处理 特点: 将数据和业务抽象为对象,有利于程序整体结构的分析和设计,使设计思路更加清晰 业务以对象为单位,对象各自完成工作,减少了代码耦合度,有助于业务升级和代码重构 方便工作划分,有利于提高团队开发的效率。

1、对象

是记录数据,完成行为的一个具体"事物"。比如具体某一个人 对象的组成: 属性: 用于记录与对象相关的数据,比如姓名,年龄等 方法: 用于实现与对象相关的操作,比如吃饭,睡觉等。

2、类

类(class):描述具有共同特征的事物的概念。物以类聚,人以群分。很多事物存在相同的操作/行为,比如人都进行吃饭、睡觉,狗都会跑会叫等等。

3、类与对象的关系

区分:类是总结事物特征的抽象概念,而对象是具体存在的实物某个。 关系:在编程中,类就是创建对象的制造手册,用来定义对象的行为。每个对象必须有一个对应的类。

'''
class 类名:
    方法列表
'''


class dog:
    def __init__(self, type):
        '''
        如何让创建出来的对象包含一些默认属性,并且有初始值?
        __init__()方法叫做对象的初始化方法,在创建一个对象后会被自动调用,不需要手动调用
        开发者可以实现init方法,并在该方法中定义属性并设置初始值

        自定义__init__()
        __init__(self)除了参数,还可以设置任意个数的自定义参数,例如self__init__(self,x,y,z)
        init方法设置的自定义参数必须和创建对象时传递的参数保持一致,例如tom = Cat(x,y,z)

        '''
        self.age = 1  # 设置默认值狗的年龄
        self.type = type

    def __str__(self):
        '''
        如果直接打印对象,会看到创建出来的对象在内存中的地址
        使用print输出对象的时候,只要对象定义了方法,就会打印该方法return的信息描述
        字符串符的返回值必须是字符串类型
        :return:
        '''
        return "名字是:%s,年龄是:%s" % (self.name, self.age)

    def eat(self):  # self对应的实参就是调用该方法的对象,self主要用于在方法中使用自己的属性和方法
        print("狗吃骨头,它的名字是:%s" % self.name)
        print("它的年龄是:%d" % self.age)
        print("它是:%s" % self.type)


dog1 = dog("小型犬")  # 创建对象,格式:引用对象的变量名 = 类名()
dog1.name = "来福"  # 定义属性,格式:引用对象的变量名.属性名 = 数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-O-joker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值