zoukankan      html  css  js  c++  java
  • 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();
        }
    }

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

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

  • 相关阅读:
    spring和mybatis的结合
    SpringMVC
    springdata
    springboot的总结
    SpringAop代理模式笔记
    springcloud
    完全二叉树和满二叉树
    C# 读取EXCEL文件的三种经典方法
    C#加密app.config中连接字符串的代码
    c#winform 程序 App.config文件加密(SDK命令)
  • 原文地址:https://www.cnblogs.com/YiStyle/p/5890317.html
Copyright © 2011-2022 走看看