功能代码分离 代码结构if(返回值为布尔类型的函数)判断优化

学习第一行代码时,曾了解到可通过新建一个类继承AppCompatActivity,其他所新建的活动继承自这个新建的类来实现管理所有活动的目的。

在这个读取RFID内容的程序中,代码结构为MainActivity继承自SerialPortActivity,SerialPortActivity继承自ACtivity。SerialPortActivity中

有管理port开启关闭的方法,以及一个onDataReceiver的虚类(这个类在MAinActivity中重写,但在SerialPortActivity中有被调用。)

MainAcitvity中,

 public void btnOpen_Click(View btn) {

        if(this.open()) {

            this.btnOpen.setEnabled(false);

            this.btnClose.setEnabled(true);

        }

 

    }

对于open()这个方法,是写在SerialPortActivity中的。

 public boolean open() {

        boolean bret = false;

        if(this.serialPortTool == null) {

            this.serialPortTool = new SerialPortTool();

        }

 

        try {

            this.mSerialPort = this.serialPortTool.getSerialPort("/dev/ttyS2", 9600);

            this.mOutputStream = this.mSerialPort.getOutputStream();

            this.mInputStream = this.mSerialPort.getInputStream();

            if(this.mReadThread == null) {

                this.mReadThread = new SerialPortActivity.ReadThread((SerialPortActivity.ReadThread)null);

                this.mReadThread.start();

            }

 

            bret = true;

        } catch (SecurityException var3) {

            this.DisplayError(2131099651);

        } catch (IOException var4) {

            this.DisplayError(2131099652);

        } catch (InvalidParameterException var5) {

            this.DisplayError(2131099650);

        } catch (Exception var6) {

            this.DisplayError(2131099652);

        }

 

        return bret;

    }

两个类的存在让这个程序的逻辑比较清晰,if()语句中()里的东西会被执行,而不是仅仅的返回一个布尔类型的值,不是放在沙盒中运行的,它依然执行了所应该实现的功能。

 

总的来说,if()语句里的内容会被执行(不是在沙盒执行,值返回一个布尔类型的值)

  对于一些基础功能的东西,可单独构成一个类(其中可包含一些虚函数等),其他类继承这个基础类。来实现

 多态继承和功能分开  

 

你可能感兴趣的:(功能代码分离 代码结构if(返回值为布尔类型的函数)判断优化)