面向对象与面向过程的区别
面向过程的编程思想:
解决的时候按照一定的过程(流程)
例子:
大象装冰箱 总共分几步?
1.开门 2.大象装里面 3.关门
以过程为本–>有一点不一样时无法复用–>增加了很多冗余
面向对象的编程思想:
解决问题的时候按照现实生活中的规律来考虑问题
考虑在这个问题中 有几个实体参与进来
理解为 实体为动作的支配者 没有实体动作就发生不了
例子:
大象装冰箱 总共分几步?
人 冰箱 大象
分析每一类个体都有什么特点 做了哪些事情
大象 特点 (大,重)
冰箱 特点(有门,容积)
人 特点 (能做事情 做了哪些事呢?开冰箱门,装大象,关门
类与对象
类
抽象系统的概念 : 描述一类事物 肯定是具有相同的特征行为
-------人类
人类有名字 有年龄 有性别-------静态描述类的特征-----属性
**属性组成成分:**权限修饰符 [特征修饰符] 属性类型 属性名字 [=值];
人类能吃饭 能说话 能学习-----动态描述类的行为-*—方法*
方法组成成分:
权限修饰符 [特征修饰符] 返回值类型 方法名字(参数列表) [抛出异常]
[{
方法执行体
}]
方法中最主要的两个结构 :方法的参数 列表方法的返回值类型
参数列表可以理解为方法做事情之前需要提供的条件(可以多个)
返回值可以理解为方法做事情之后得到的一个结果(只有一个)类描述好了以后是不可以直接做事情
对象
----具体的人
人类中的一个具体的人
有名字 有年龄 有性别
能吃饭 能说话 能学习
但是
在现实生活中 对象是先有的 总结出来的概念(类)后产生的
而在计算机中利用面向对象思想来做事,
- 需要先自己定义(描述)一个类
- 想要做事情,需要在描述的类中创建一个具体的个体(对象)出来
- 个体(对象)来做事情
如何在计算机中创建(描述)一个类呢?
- 先创建一个类
- 利用属性或者方法去描述这个类
- 创建一个当前类的对象,让这个对象调用属性或方法做事情。
需要创建当前类的对象通过new的方式
Person p = new Person();
通过p.调用啦调用属性(存值/取值)调用方法(执行 -次)