zoukankan      html  css  js  c++  java
  • 【转载】Java程序设计入门 (三)

    学习完(一)、(二)两节后是否感觉似乎学会了一些东西,但是…… 又感觉脑袋里充满了浆糊?呵呵,一下吃太多了,消化不良了……
    两个方法可以让自己好受点:
    (1) 暂时放下脚步,再看一遍前面两节,自己做一下小结,一个字…… 悟!
    (2) 实践,自己做几个小例子,实践一下前面讲过的内容

    BUT! 多年的实践证明,说了也等于白说,能停下来悟道的人不多……
    所以,作为一个好人,我还是带你站高一点,宏观地看看目前学过的这些东西,也许会有帮助。

    OK, 起~

    事实上,那些让人晕头转向的语法规定一直致力于通过引入一些机制, 让程序员少干点活, 并引导程序员保持相对清晰的头脑, 干活更有条理. 
    相对术语化地说, 即是尽可能地实现"代码重用", 并提供一些"开/闭机制", 让程序员得以在“封闭”与“开放”之间寻找一个最佳的平衡。更高层次来说,便于实现更加稳固且便于扩展的程序“架构”。

    我们来回顾一下前两节学过的一些东西……

    "类"/"对象" 概念的提出实现了数据和功能封装,将其聚合为一个相对独立的单元,而"继承"机制的引入最直接地实现了代码重用, 并且, 在继承过程中, 父类为子类指明了发展的方向. 

    "重载"实现了一个类内部的"变异", 而"覆盖" 则体现了继承过程中子类代对父代的"革新", 这些都为程序员提供了扩展的途径.

    虽然, 封闭的"最高境界"是封得密不透风, 但若真如此就没有意义了, 因此, public, protected, private 修饰符在不同的范围内提供了开放的可能性, 并把控制权交给了程序员.

    static 修饰符的引入在一个方面实现了对象之间的数据共享(开放), 将数据和功能从对象层面提到了类层面, 从而类似数学中的提取公因式一样, 把数据和功能从相对"动"的对象中提到相对"静"的类中.  当然, final 修饰符又封堵上了变化可能性.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    最后, 为那些之前只接触这C语言这类"面向过程"的程序设计语言的同学洗个脑……

    在使用C这样面向过程的程序设计语言编程时, 我们的工作大致可以分2步: (1) 功能封装: 定义实现各种功能的函数(过程); (2) 通过函数间的相互调用, 让程序运行起来……

    而使用Java这样的面向对象的程序设计语言编程时, 我们首先站在对象的视角去定义类, 然后…… 在运行时, 让类实例化成对象, 然后…… 调用对象的方法(函数)以完成所需的工作, 然后…… 然后就没有然后了……
    对照之前的实例, 想想是不是这个过程: 首先把自己当做一头猪 (小花, 对象), 思考作为一头猪应该有些什么数据和功能, 然后定义猪类, 然后……通过 new Pig() 把猪类变成小花(具体的对象), 然后…… 调用小花的eat方法让它吃东西, 然后…… 就没有然后了……

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    好了, 做个节目预告, 下一节我们将学习 "接口" 和 "抽象类", 本节就先到这里, 给一点消化的时间……
  • 相关阅读:
    使用八爪鱼采集所需信息
    一些小疑问&解答
    第一页的简单爬取
    【不解决了】对Spark源码进行编译
    python学习中的序列函数
    关于python中的小知识总结
    python学习13之数据泄密
    python学习12之梯度推进
    python学习11之交叉验证
    python学习10之管道清理建模
  • 原文地址:https://www.cnblogs.com/toge/p/6114744.html
Copyright © 2011-2022 走看看