JAVA——第二章——面向对象的编程概念

基本概念:对象,类,接口等基本概念

一. 对 象
生活中的对象都有两个属性:状态和行为。就概念而言,软件对象与生活中的对象类似,也包含状态和行为两大属性。

软件对象用字段存储状态,用方法定义行为。

方法对对象的内部状态进行操作,是对象之间通信的基本机制。这种隐藏对象内部状态,要求所有通信都通过对象的方法实现的方法,是面向对象编程的基本原则,通常称为数据封装

外界如何使用对象,取决于其状态和改变状态的方法。

将代码构建成独立的软件对象,具有以下优点:
1)模块化。每个对象的代码,都独立于其他的对象,便于编写和维护。
2)信息隐藏。对象内的数据和内部实现细节对外界是隐藏的,用户只能与对象的方法交互。
3)代码重用。对象一但建立,可供直接使用。
4)可插拔和易于调试。单个对象出现问题,可以将其从程序中移除,换成其他可用的对象。

二. 类
类是对一群有共同特征的事物或事件的集合。
类是创建个体对象的蓝图。

举个例子,实现一个自行车类:

public class Bicycle{
    int cadence = 0;
    int speed = 0;
    int gear = 1;

    void changeCadence(int newValue){
        cadence = newValue;
    }

    void changeGear(int newValue){
        gear = newValue;
    }

    void speedUp(int increment){
        speed = speed + increment;
    }

    void applyBrakes(int decrement){
        speed = speed - decrement;
    }

    void printStates(){
        System.out.println("cadence:" + 
            cadence + "speed:" + speed + 
            "gear:" + gear);
    }
}

然后创建两个自行车实例:

class BicycleDemo{
    public static void main(String[] args){
        Bicycle bike1 = new Bicycle();
        Bicycle bike2 = new Bicycle();

        bike1.changeCadence(50);
        bike1.speedUp(10);
        bike1.changeGear(2);
        bike1.printStates();

        bike2.changeCadence(60);
        bike2.speedUp(20);
        bike2.changeGear(10);
        bike2.printStates();
    }
}

执行完毕输出结果如下:

cadence:50 speed:10 gear:2
cadence:60 speed:20 gear:10

三 . 继 承
在面向对象编程中,子类可以继承父类的常用状态和行为。子类的创建语法很简单,只要在类声明时按顺序添加关键字extends和要继承的类名:

class MountainBike extends Bicycle{
    //...
}

这样定义后,Mountain Bike就会拥有与Bicycle相同的字段和方法,编码时只需要注意那些不同的属性,但是,文档化子类定义状态和行为时要特别小心,因为子类的源文件不会包含父类的代码

四.接 口
方法是对象与外界的接口,也就是被定义为一组方法体为空的相关方法的集合,即为接口。
如果将自行车的行为定义为接口,其形式如下:

interface Bicycle{
    void changeCadence(int newValue);

    void changeGear(int newValue);

    void speedUp(int increment);

    void applyBrakes(int decrement);
}

实现接口时,要更换类名,并在类声明中使用关键字implements:

class ACMEBicycle implements Bicycle{
    //...
}

通过实现接口,类可以更形式化的定义行为。接口构成了类与外界的契约,而且该契约在构建程序时有编译器强制执行,如果类声明中实现了一个接口,那么接口中定义的所有方法都必须出现在该类中,否则编译不通过。

好了,JAVA的面向对象编程概念基本就是这么多。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值