• 面向对象设计


    一、面向对象简记

      1)面向对象设计,每个类的职责应该单一,不要在一个类中引入过多的接口。
      2)面向对象的系统设计应该遵循开闭原则,系统应该稳定不可修改,但应支持通过继承、组合等方式进行扩展。
      3)过程式语言和面向对象的语言各有其优势,过程式语言更加灵活,面向对象语言更加强调抽象和封装。
      4)面向对象开发中,引用传递意味着传递的并不是实际的对象,而是对象的引用,因此,外部对引用对象所做的改变会直接反映到所引用的对象上
      5)创建一个新的实例对象时,它会得到一块新的内存空间,也就是说同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间(类中的静态成员变量是所有对象共有的,也就是在一片属于类的存储空间中,被所有的对象共有。)

    二、java和C++的区别:

      1.Java是解释型语言,C++是编译型语言。
      2. C++比Java执行速度快,但是Java可以利用JVM跨平台。
      3.Java是纯面向对象的语言,所有代码(包括函数、变量)都必须在类中定义。而C++中还有面向过程的东西,比如是全局变量和全局函数。(java没有全局变量的说法,只有static静态说法)
      4. C++中有指针,Java中没有,但是java有引用。
      5. C++支持多继承,Java中类都是单继承的。同时Java中的接口是多继承,类对接口的实现也是多实现。
      6.C++中,开发需要自己去管理内存(即是要显示的关心内存释放),但是Java中JVM有自己的GC机制(不用显示的关心内存释放),虽然有自己的GC机制,但是也会出现OOM(out of memory )和内存泄漏的问题。C++中有析构函数,而Java中Object有finalize方法
      7. C++运算符可以重载,但是Java中不可以。同时C++中支持强制自动转型,Java中不行,会出现ClassCastException(类型不匹配)。

    三、动态类型语言和静态类型语言

      1)动态类型语言:类型的检查是在运行时做的:使用变量前不需要声明变量。如:JavaScript、Ruby、Python。

      2)静态类型语言:类型判断是在运行前做的(如编译阶段):使用变量前需要声明变量。如:C、C++、Java

    四、java:强类型语言

      1)java是强类型语言,所有的方法必须放在类里面,包括main
      2)java中可以有多个重载的main方法,只有public static void main(String[] args){}是函数入口(唯一)
      3) JAVA程序中public修饰的类名必须与文件名一样(内部类的类名一般与文件名不同)

  • 相关阅读:
    前端必备工具-IETest
    mysql_fetch_assoc 跟mysql_fetch_array 有什么区别?
    如何将Emmet安装到到 Sublime text 3?
    如何将Emmet(ZenCoding)安装到到Dreamweaver8?
    前端必备工具-Emmet (Zen Coding)
    前端必备工具-Sublime Text 2
    开店资源分享
    开店充值其实可以很便宜
    简单Gif制作
    项目笔记:导入功能
  • 原文地址:https://www.cnblogs.com/yangrongkuan/p/12023733.html
Copyright © 2020-2023  润新知