美文网首页
《CODING INTERVIEW PROBLEMS》第一章:编

《CODING INTERVIEW PROBLEMS》第一章:编

作者: MikeShine | 来源:发表于2019-10-25 11:37 被阅读0次

    写在前面

    这一章作者讲了一些很基础的知识。其实没有必要细看,不过有一些概念在这里还是比较重要的。你自己知道大概是什么意思,但是不知道标准的解释。今天我们来看一哈。


    1.12 编程方式

    这里作者把所有四种编程结构都介绍了一下。

    • 无结构编程
      就是没有任何结构。直接就一个 main() 里面开始写,这样肯定有很多重复调用的代码就要复制多份。


      无结构
    • 过程式的编程
      所谓过程式,在一个 main() 函数之外构建一些 例程 procedure,调用例程,之后再把控制权返回给 main()。有一定的结构。


      过程式
    • 模块式的编程
      就是说,把相近的例程封装成为模块,然后通过调用模块来搞定


      模块式
    • 面向对象的编程OOP
      OOP的重点在于 对象Object 和 数据 Data。一般来说,首先要做的就是确定各个对象之间的关系,定义每个对象的数据,操作这些对象的方法。


      OOP

      如上图,可以看到这里每两个对象之间都是可以交互的。

    OOP同时需要保持3个特性:继承、封装、多态。

    • 继承
    • 多态
      同一实体可以表现出不同的形式。即一个接口可以由多种方法实现。
      举一个现实生活的例子,别人邀请你爸去参加婚礼,结果你或者你妹妹去了,也是可以的。对应到程序中,有一个求2数之和的接口add2(),这时候你输入两个 int / 两个 float/ 两个其他类型的数,都是可以调用这个接口的。也就是说,多态的存在允许我们定义3个版本的接口。
      多态又分为 编译时多态、运行时多态。
      编译时多态:比如重载
    // 重载:编译时多态
    class Father{
        public void say(){
          System.out.println("hello");
        }
    
      public void say(String s){
        System.out.println(s);
      }
    }
    

    运行时多态:比如重写
    class Father(){
    public void say(){
    System.out.println("hello");
    }
    }

    class Son extends Father{
    @Override
    public void say(){
    System.out.println("This is Son saying hello");
    }
    }

    // 重写:运行时多态
    
    
    • 封装
      就是说可以通过一定的封装格式,将某些方法和数据对外不可见这种的。

    相关文章

      网友评论

          本文标题:《CODING INTERVIEW PROBLEMS》第一章:编

          本文链接:https://www.haomeiwen.com/subject/mehsvctx.html