企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 类和对象 ## 目标 * 类和对象的概念 * 类和对象的关系 * 类的设计 ## 01. 类和对象的概念 **类** 和 **对象** 是 **面向对象编程的 两个 核心概念** ### 1.1 类 * 类是对一群具有相同特征或者行为的事物的一个统称,是抽象的,不能直接使用。 * **特征** 被称为 **属性** * **行为** 被称为 **方法** * **类** 就相当于制造飞机时的**图纸**,是一个 **模板**,是 **负责创建对象的** ![](https://pic.downk.cc/item/5e85cd55504f4bcb0437789e.jpg) ### 1.2 对象 * **对象** 是 **由类创建出来的一个具体存在**,可以直接使用 * 由哪一个类创建出来的对象,就拥有在哪一个类中定义的: * 属性 * 方法 * **对象** 就相当于用 **图纸** **制造** 的飞机 > 在程序开发中,应该 **先有类,再有对象** ![](https://pic.downk.cc/item/5e85cda0504f4bcb043978b1.jpg) ## 02. 类和对象的关系 * **类是模板**,**对象** 是根据 **类** 这个模板创建出来的,应该 **先有类,再有对象** * 类只有一个,而对象可以有很多个 * **不同的对象** 之间 **属性** 可能会各不相同 * **类** 中定义了什么 **属性和方法**,**对象** 中就有什么属性和方法,**不可能多,也不可能少** ## 03. 类的设计 在使用面相对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类! ![](https://pic.downk.cc/item/5e85cc5e504f4bcb0430f2b0.jpg) 在程序开发中,要设计一个类,通常需要满足一下三个要素: 1. **类名** 这类事物的名字,**满足大驼峰命名法** 2. **属性** 这类事物具有什么样的特征 3. **方法** 这类事物具有什么样的行为 ### 大驼峰命名法 ~~~ CapWords ~~~ 1. 每一个单词的首字母大写 2. 单词与单词之间没有下划线 ### 3.1 类名的确定 **名词提炼法** 分析 **整个业务流程**,出现的 **名词**,通常就是找到的类 ### 3.2 属性和方法的确定 * 对 **对象的特征描述**,通常可以定义成 **属性** * **对象具有的行为**(动词),通常可以定义成 **方法** > 提示:需求中没有涉及的属性或者方法在设计类时,不需要考虑 ### 练习 1 **需求** * **小明** 今年 **18 岁**,**身高 1.75**,每天早上 **跑** 完步,会去 **吃** 东西 * **小美** 今年 **17 岁**,**身高 1.65**,小美不跑步,小美喜欢 **吃** 东西 ![](https://pic.downk.cc/item/5e85ce4b504f4bcb043e1296.jpg) ### 练习 2 **需求** * 一只 **黄颜色** 的 **狗狗** 叫 **大黄** * 看见生人 **汪汪叫** * 看见家人 **摇尾巴** ![](https://pic.downk.cc/item/5e85ce5d504f4bcb043e92e0.jpg)