Java4Android基础学习之面向对象应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java4Android基础学习之面向对象应用相关的知识,希望对你有一定的参考价值。

  其实这里说的应用只是利用前面学过的知识综合起来,模拟一个非常简单的项目——打印机。

1、先是做一个打印机打印,

public class father {
    void turn_on(){
        System.out.println("turn on");
    }

    void turn_off(){
        System.out.println("turn off");
    }

    void  print(String s){
        System.out.println("print " + s);
    }
}
public class test {
    public static void main(String args []){
        father p = new father();

        p.turn_on();
        p.print("a");
        p.turn_off();
    }
}

这样很简单就实现了开机,关机,打印

2、然后是增加了打印机的个数;

  1)这里就使用继承,因为如果一个打印机写一个类的话,那将产生很多重复代码(不管什么打印机都有开机,关机,打印这几个功能);

  2)每个打印机的类里面写他特有的方法,若父类中继承来的方法不满足要求的话,就在子类中重写,利用 super来调用父类中的函数;

  如:

//父类
public class father {
    void turn_on(){
        System.out.println("turn on");
    }

    void turn_off(){
        System.out.println("turn off");
    }

    void  print(String s){
        System.out.println("print " + s);
    }
}
//打印机1
public class hpprint extends father{

}
//打印机2
public class canno extends father{
    void clean(){
        System.out.println("Clean");
    }

    void turn_off(){
        this.clean();
        super.turn_on();
    }
}
//主函数
public class test {
    public static void main(String args []){
        father p = new father();

        p.turn_on();
        p.print("a");
        p.turn_off();
    }
}

这样的话就能减少很多重复代码,试想下,如果有十台打印机的话,就比每个类里都写开机,关机这些函数效率要高得多多的了。

 

  这个模拟的项目正好把前面学到的知识都联系起来了,再次回顾了一篇,加深印象。

以上是关于Java4Android基础学习之面向对象应用的主要内容,如果未能解决你的问题,请参考以下文章

Java4Android基础学习之包与访问权限

Java4Android基础学习之抽象类与抽象函数

Java4Android基础学习之复写(override)

java基础学习之面向对象

Python面向对象学习之八,装饰器

《Java4android》视频学习笔记——面向对象的应用