python基础学习---面向对象1

面向对象---谁来做?

相比函数,面向对象是一个更大的封装,根据职责在一个对象中封装多个方法。

  1. 在完成某个需求前,首先确定职责--要做的事情(方法)
  2. 根据职责确定不同的对象,在对象内部封装不同的方法
  3. 最后完成代码,就是顺序的让不同的对象调用不同的方法。

特点:

  1. 注重对象和职责,不同的对象承担不同的职责。
  2. 更加适合应对对复杂需求的变化,是专门应对复杂项目开发,提供的固定套路。

面向对象的两个核心概念:类和对象

  1. 类的定义:是对一群具有相同特征(属性)或者行为(方法)的事物的一个统称,不能直接使用,类相当于制造飞机时的图纸,是一个模板,是负责创建对象的。相当于图纸。
  2. 对象定义:是由类创建出来的一个具体存在,可以直接使用的,相当于用图纸造出来的飞机。
  3. 类和对象的关系

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

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

             > 类只有一个,而对象可以有很多个,不同对象之间属性可能各不相同。

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

    4. 类的设计:

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

  • 类名:这类事物的名字,满足大驼峰命名法(每个单词首字母大写并且单词之间没有下划线)

                 >类名的确定方法:名词提炼法分析整个业务流程,出现的名词通常就是要找到的类。

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

                  >属性的确认:对对象特征的描述,通常可以定义成属性。

  • 方法:这类事物具体什么样的行为

                 >方法的确认:具有的行为(动词)。通常可以定义成方法

 

举例

小明,今年18岁,身高1.75,他喜欢吃东西,他爱跑步

小丽,今年17岁,身高1.65,她喜欢吃东西,她不爱跑步

其中,小明和小丽都是人物,名词,可以定义成类的名字,是人类(person)

名字、年龄和身高,定义成属性name,age,height

吃和跑为动词,可以定义为方法,eat(),  run()

 

 

你可能感兴趣的:(Learn,Python)