美文网首页
《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