01面向对象基本概念
-我们之前学习的编程方式是面向过程的
-面向过程和面向对象,是两种不同的编程方式
-对比面向过程的特点,可以更好的了解什么是面向对象
1.1过程和函数
-过程是早期的一个编程概念
-过程类似于函数,只能执行,但是没有返回值
-函数不仅能执行,还可以返回结果
1.2面向过程和面向对象基本概念
1)面向过程---怎么做?
1、把完成某一个需求的所有步骤从头到尾逐步实现
2、根据开发需求,将某些功能独立的代码封装成一个又一个函数
3、最后完成代码,就是顺序的调用不同的函数
特点:
1、注重步骤和过程,不注重职责分工
2、如果需求复杂,代码会变得很复杂
3、开发复杂项目,没有固定套路,开发难度很大!
2)面向对象---谁来做?
相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法
1、在完成某一个需求前,首先确定职责---要做事情的(方法)
2、根据职责确定不同的对象,在对象内部封装不同的方法(多个)
3、最后完成的代码,就是顺序的让不同的对象调用不同的方法
特点:
1、注重对象和职责,不同对象承担不同的职责
2、更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
3、需要在面向过程基础上,再学习一些面向对象的语法
02类和对象的基本概念
类和对象是面向对象编程的两个核心概念
1.1类
-类是对一群具有相同特征或行为的事物的一个统称,是抽象的,不能直接使用
1、特征被称为属性
2、行为被称为方法
-类就相当于制造飞机时额图纸,是一个模板,是负责创建对象的
1.2对象
-对象是由类创建出来的一个具体的存在,可以直接使用
-由哪一类创建出来的对象,就拥有在哪一类中定义的:
1、属性
2、方法
-对象就相当于用图纸制造的飞机
在程序开发中,应该先有类,再有对象
03类和对象的关系
-类是模板,对象是根据类这个模板创建出来的,应该先有类,再有对象
-类只有一个,而对象可以有很多个
不同的对象之间属性可能会各不相同
-类中定义了什么属性和方法,对象中就有什么属性和方法,不可能多,也不可能少
04类的设计
在使用面向对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类!
在程序开发中,要设计一个类,通常需要满足以下三个需求:
1、类名这类事物的名字,满足大驼峰命名法
大驼峰命名法:
1、每个单词首字母大写
2、单词与单词之间没有下划线
2、属性这类事物具有什么样的特征
3、方法这类事物具有什么样的行为
4.1类名的确定
名词提炼法分析整个业务流程,出现的名词,通常就是找到的类
4.2属性和方法的确定
-对 对象的特征描述,通常可以定义成属性
-对象具有的行为(动词),通常可以定义成方法
需求中没有涉及的属性或者方法在设计类时,不需要考虑
练习1
需求:
-小明 今年18岁,身高1.75,每天早上 跑 完步,回去 吃 东西
-小美 今年17岁,身高1.65,小美步跑步,小美喜欢 吃 东西
类 person 属性 name
age
height
方法 run()
eat()