美文网首页
Python「面向对象编程」类和对象的基本概念、关系、类的设计方

Python「面向对象编程」类和对象的基本概念、关系、类的设计方

作者: 可可里西 | 来源:发表于2022-06-20 15:15 被阅读0次

    一、类和对象的概念:

    类和对象是面向对象编程的两个核心概念。

    1.1 类

    类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用

    • 特征被称为属性
    • 行为被称为方法

    类就相当于制造飞机时的图纸,是一个模板,是负责创建对象的,这张图纸并不能让飞机起飞,得先制造出飞机有驾驶员条件。

    图片1.png

    1.2 对象

    对象是<typo id="typo-178" data-origin="由" ignoretag="true">由</typo>类创建出来的一个具体的存在,可以直接使用。

    由哪一个类创建出来的对象,就拥有在哪一个类中定义的属性和方法。

    在程序开发中,应该先有类,再有对象。

    对象就相当于用图纸制造的飞机。一句话就是可以把<typo id="typo-280" data-origin="类" ignoretag="true">类</typo>看做是图纸,把对象看做是图纸制造出来的飞机。

    图片2.png

    二、类和对象的关系

    类是模板,对象是根据类这个模板创建出来的,应该先有类再有对象。

    类只有一个,而对象可以有很多个。

    不同的对象之间属性可能会各不相同。

    类中定义了什么属性和方法,对象中就有什么属性和方法,不可能多,也不可能少。

    以上就是面向对象编程<typo id="typo-440" data-origin="中连" ignoretag="true">中连</typo>个核心的概念,一个是类一个是对象。一句话讲类的职责很单一就是负责创建对象的,在类中定义一下创建出来的对象具有什么样的属性和方法。当有了类之后我们就可以用类来创建出很多对象,当对象创建出之后就可以用对象来调用在类中的方法,并且设置在类中的属性。

    三、类的设计

    都知道面向对象开发出来的程序最终结果是<typo id="typo-592" data-origin="不同" ignoretag="true">不同</typo>的对象调用不同的方法。在面向对象中想要创建出对象,得先有类,那类是怎么样设计出来的?下面开始慢慢说明。

    在使用面向对象开发前,应该首先分析需求,确定一下程序中需要包含哪些<typo id="typo-682" data-origin="类" ignoretag="true">类</typo>。

    比如下面的植物大战僵尸游戏中,要设置向日葵类,豌豆射手类等等很多类。

    图片3.png

    在程序开发中,要设计一个类,通常需要满足以下三个要素:

    1. 类名:这类事物的名字,满足大驼峰命名<typo id="typo-777" data-origin="法" ignoretag="true">法</typo>

    2. 属性:这类事物具有什么样的特征

    3. 方法:这类事物具有什么样的行为

    大驼峰命名法:CapWords

    每一个单词的首字母大写,单词与单词之间没有下划线

    3.1 类名的确定

    名词提炼法,分析整个业务流程出现的名词,通常就是要找到的<typo id="typo-906" data-origin="类" ignoretag="true">类</typo>。

    3.2 属性和方法的确定

    对对象的特征描述,通常可以定义为属性。

    对象具有的行为(动词),通常可以定义为方法。

    提示:需求中没有涉及的属性或者方法在设计类时,不需要考虑

    练习1:

    需求:

    小明今年20岁,身高180cm,每天早上完步,会去东西

    小菜今年18岁,身高165cm,小菜不跑步,小菜喜欢东西

    解答:设计一个人类,属性包含名字、年龄、身高,行为包含跑和吃,再创建两个不同的对象。

    练习2:

    需求:

    一只黄色狗狗大黄

    见到生人 汪汪叫

    见到家人 摇尾巴

    解答:设计一个狗的类,属性是名字和厌恶,行为是汪汪叫和摇尾巴。

    图片4.png

    更多python相关文章请关注python自学网

    相关文章

      网友评论

          本文标题:Python「面向对象编程」类和对象的基本概念、关系、类的设计方

          本文链接:https://www.haomeiwen.com/subject/indjvrtx.html