zoukankan      html  css  js  c++  java
  • 课程·面向对象·总结

    所学&所得

           学习了一些面向对象的基础概念:类型、对象、实现对象、继承、接口。在了解其基本概念后,用JAVA语言实现。在这一过程中,我对面向对象这门课有了初步的直观的认识。

      在学习课程之前我已经使用面向对象概念进行开发,当时觉得面向对象并没有那么困难,但是借着这次课程,我对面向对象进行了较为深入的探索,发现这一概念体系十分精妙。各种复杂的规则、约定是为了保障代码的封装性、鲁棒性、可重用性等良好性质。在按照这些规则实现代码时可能很难发觉这些规则的奇妙之处,但在之后某些阶段的开发中,我们将有很大可能会对这些规则心存感激。我在起步时可能不知道某些知识的应用场景,但是随着学习的深入,我慢慢开始体会到其奇妙之处。

      除了概念方面的学习,在语言方面我们也学习了不少实用的工具和一些处理简单问题的方法。JAVA语言的重要特点是其支持库十分丰富。由于上游开发者的巨大投入,一些常用的数据结构、方法等使用JAVA封装好的往往效率更高(解释器可以针对库的代码进行特殊优化)。在解决问题的过程中往往有这样的一个体验:将问题细化,分解成子问题,迭代操作,最后的子问题的核心往往会被库函数自带的一些方法解决;解决某一问题需要一种数据结构,而这一数据结构已经在库中封装好,或者可由已封装好的数据结构改造而来。特别的例子是字符串的相关操作,在课程学习中我们以此为例体会了JAVA库函数的强大,相关的操作也贯穿了我们的课程,难度逐步提高。

      一些零碎的细节,我记在了另一篇博文中:课程·面向对象·拾遗

    对于课程的建议

           由于先导课程学时有限,课上教授的内容也因此受限,但愿意在暑假留校参加暑期课程的同学们应该都乐意多学一些内容。如果课程学时无法增加,可以将更多的知识和相关资料放在网络上,方便同学们进行自主学习。像面向对象这种重难课程可以提早一些以各种形式走入同学们的学习生活之中,先导课程就是一种很好的形式。还可以有很多形式使同学们能对这一课程有一个更立体的认识,比如之前提到的网络资源平台。再如网络对抗平台:对于某个问题用户发布自己的解题代码,其他用户对这一代码查错,发布能使解题代码出错的测试数据,在这一过程中给予用户相应的分数。让同学们先体验一番正式课程的紧张刺激。

           在先导课程的学习之中,我虽然能利用搜索引擎查询到自己所需的知识,但也亲身体会到网络上的代码用例质量参差不齐:也许在风格方面有所欠缺,也许在鲁棒性有所不足,也许有些不合规范。这可能对初学者造成许多消极影响。这从另外一个角度体现了网络资源平台的重要性:经过前辈把关的代码用例在质量上有保证,同学们进行借鉴参考,多半会收获良多。

    (未完待续)

  • 相关阅读:
    Linux系统调用和库函数调用的区别
    Linux驱动的两种加载方式过程分析
    activeMQ的两个默认端口8161和61616的区别
    ActiveMQ安装报错Wrapped Stopped解决办法
    Spring Security 5.x兼容多种密码加密方式
    Spring Security 5中 PasswordEncoder的使用
    There is no PasswordEncoder mapped for the id "null"的解决办法
    spring security 5 There is no PasswordEncoder mapped for the id "null" 错误
    MySQL——修改视图
    MySQL视图 definer & invoker 权限
  • 原文地址:https://www.cnblogs.com/neolinsu/p/7309823.html
Copyright © 2011-2022 走看看