什么是面向对象编程?
对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物,相对于面向过程来说,面向对象把相关的数据和方法整合成一个整体,从更高的层次来进行系统建模,更贴近事物的自然运行模式,我们把种编程方式叫做面向对象编程,也叫OOP;(另外编程方法不分好坏,面向过程编程也有其优势所在,应用场景不同而已)
🤔例图理解过程和对象:
1.手洗衣服过程
手洗衣服每一步细节都需要我们人亲自去交互完成,任何一步都不能缺少,如果这是我们编程的方式那么整个代码会长且繁琐,日后维护起来也是比较麻烦;
2.洗衣机洗衣服过程
用面向对象的思维来处理,我们就不需要去关注整个洗衣服的过程,只需要人将洗衣粉和衣服放入洗衣机然后启动开关即可,只需要对象之间的交互即可完成任务;
面相对象程序设计关注的是对象,而对象是现实生活中的实体,比如:洗衣机。但是洗衣机计算机并不认识,需要 开发人员告诉给计算机什么是洗衣机
上图右侧就是对洗衣机简单的描述,该过程称为对洗衣机对象(实体)进行抽象(对一个复杂事物的重新认知),但是 这些简化的抽象结果计算机也不能识别,开发人员可以采用某种面相对象的编程语言来进行描述,比如:Java语 言。
类的定义:
在java中如何定义一个类?
- // 创建类
- class ClassName{
- field; // 字段(属性) 或者 成员变量
- method; // 行为 或者 成员方法
- }
class为定义类的关键字,ClassName为类的名字,{}中为类的主体。
- class WashMachine{
- public String brand; // 品牌
- public String type; // 型号
- public double weight; // 重量
- public double lenght; // 长 //成员变量
- public double weidth; // 宽
- public double height; // 高
- public String color; // 颜色
-
- public void WashClothes(){ // 洗衣服
- System.out.println("洗衣功能");
- }
-
- public void dryClothes(){ // 脱水
- System.out.println("脱水功能"); //成员方法
- }
-
- public void SetTime(){ // 定时
- System.out.println("定时功能");
- }
- }
注意事项:
1. 一般一个文件当中只定义一个类;
2. main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)
3. public修饰的类必须要和文件名相同;
4. 不要轻易去修改public修饰的类的名称 ;
2.类的示例化:
我们说定义一个类相当于对一个对象的描述,就像盖楼房对楼房进行了一个图纸的描述,那我们如何才能将楼房真正的展示出来呢?
用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。
.
- class PetDog{ //定义一个狗类
- public Sring name;
- public Sring color;
-
- piblic void barks(){
- System.out.prinln("汪汪汪");
- }
-
- piblic void wag(){
- System.out.prinln("摇尾巴");
- }
-
- }
- public class Main{
- public static void main(String[] args) {
- PetDog dogh = new PetDog(); //通过new实例化对象
- dogh.name = "阿黄";
- dogh.color = "黑黄";
- dogh.barks();
- dogh.wag();
- PetDog dogs = new PetDog();
- dogs.name = "阿黄";
- dogs.color = "黑黄";
- dogs.barks();
- dogs.wag();
- }
- }
定义了一个类,就相当于在计算机中定义了一种新的类型,与int,double类似,只不过int和double是java语言自 带的内置类型,而类是用户自定义了一个新的类型;
1.new 关键字用于创建一个对象的实例.
2.使用 . 来访问对象中的属性和方法.
3.同一个类可以创建多个实例.