一、初见面向对象编程

本小妞迷上赌 提交于 2019-12-01 20:24:01

  对于习惯使用C和稍微接触过C++的我来说,刚开始学习Java,并没有感觉到有多么陌生,反而我是觉得面向对象编程(OOP)是多么的美妙,Java的语法是多么的清晰和简洁。

  好了,不罗嗦了,上知识点。

  首先介绍Java。

  Java衍生于C++,底层为C\C++所写(类似于python和C),Java从C\C++语言继承了许多成份,但Java 语法是C++ 语法的一个“ 纯净” 版本,这里没有头文件、指针运算(甚至指针语法)、 结构、联合、操作符重载、虚基类等特性,增加了垃圾回收器功能、泛型编程等特性。

  Java“白皮书”的关键术语,其设计者归结为:①简单性    ②面向对象    ③分布式    ④健壮性    ⑤安全性    ⑥体系结构中立    ⑦可移植性    ⑧解释型    ⑨高性能    ⑩多线程    ⑪动态性。

  Java两种核心机制:Java虚拟机(JVM)和垃圾收集机制

  简单说一下JVM:JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。我们用java语言编写的文件为.java文件,经IDE或dos窗口编译后为.class文件,.class为可执行文件,但.class文件不会直接与你的设备的操作系统交互,而是经JVM处理再交与实际操作系统。因此可以做到“一次编译,到处运行”,即为多平台性。

  再来说对象。一直在说面向对象编程,那何为对象?抽象的说对象即为一个(任意量词)item,就是一个东西,具体的来讲,一个苹果、一把伞、一条狗、一匹马、一头牛等等,这些很具体的,可以说得出Ta是一个怎样的一个item。由此就可引入类的概念,类即为类型、类别、分类,比如说苹果、狗、马、牛等即为类,例如狗(按品种分类):哈士奇,萨摩耶,斗牛犬等。他们都有属于狗的共性(——类的属性和行为)。类与对象还是很容易区分的,而OOP的重难点是如何构造类,而不是创建对象。

  面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。强调运用人在日常生活的思维逻辑中采用的思想方法与原则。很形象的例子就是把大象装进冰箱”,下图即为面向对象编程和面向对象编程的程序架构,虽然面向过程看起来更简洁、直接,但相信我它的实现过程更为复杂。

   

 

  

 

  传统的结构化程序设计通过设计一系列的过程(即算法)来求解问题。一旦确定了这些过程,就要开始考虑存储数据的方式。先要确定如何操作数据, 然后再决定如何组织数据, 以便于数据操作。

 

 

 

 

  OOP 却调换了这个次序, 将数据放在第1位, 然后再考虑操作数据的算法。将一个完整的实现过程分解为很多对象的组合,是为“分而治之”,程序开发、维护、升级的难度可想而知是减少了很多。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!