面向对象本质是一种编程范式(一种思考方式)
面向过程:关注的是代码的实现细节
面向对象:先把代码实现的细节整合到对象中,找到这个对象就能拥有对象的功能
面向对象基于面向过程,面向对象优于面向过程?如果场景比较简单,优先推荐面向过程,如果场景复杂优先推荐面向对象。
面向对象可以类似表示为如下图关系:
对象和类之间的关系
对一类对象进行抽取,把共有的特征信息抽取成为属性,把共有的行为抽取为方法把这一类对象抽取成了类。类是对对象的概括,对象是对类的具体实现。
例如:
package cn.tedu.object;
public class ObjectDemo1 {
public static void main(String[] args) {
//创建Person类对象p
Person p=new Person();
//给对象的属性进行赋值
//.代表“的”的意思
p.name="豆豆";
p.gender='男';
p.age=20;
//调用方法
p.eat();
//输出
System.out.println(p.name+","+p.gender+","+p.age);
}
}
//代表人的类
class Person{
//特征---属性
String name;
char gender;
int age;
//行为---方法
public void eat(){
System.out.println(name+"在吃饭...");
}
public void sleep(){
System.out.println(name+"在睡觉...");
}
}