按理说Java是一个很OO的语言,Java社区也一向是充满了“对象”的氛围。但我在面试Java程序员时,却屡屡碰到让我大跌眼镜的事情。我碰到
不止一个求职者,连什么是“多态”都讲不清楚。很多人号称用过设计模式,但一半以上都仅限于单键模式和抽象工厂模式。当我深入问他/她抽象工厂模式到底有
什么好处时,很多人语焉不详。<!--program-think-->
为什么很多Java程序员会缺乏面向对象基本功?这得怪那些Java
框架。现在Java的各种框架太发达、太傻瓜化了,导致很多程序员只需要按部就班、照着框架进行代码填空,基本已经丧失了OOA和OOD的能力。我手下有些个Java程序员,对Spring、Hibernate等框架了如指掌;但如果给他一个简单需求,让他写一个脱离Web框架的独立
Application,他就不知所措了。这样的开发人员,将来只能成为所谓的“软件蓝领”,岗位很难得到提升。
同上一个帖子一样,我这次也提如下几个问题:
★基于接口的继承和基于实现的继承各有什么优点、缺点?
★继承(包括extend和implement)有什么缺点?
★多态(polymorphism)有什么缺点?
★为什么Java可以多继承interface,而不可以多继承class?
★假如让你写一个小游戏(比如人机对战的五子棋),你会如何设计类结构?
★类结构设计时,如何考虑可扩展性?
如果上述这些问题你都能够搞得比较清楚,说明你的OO基础还过得去。否则的话,我建议你一边找些OOAD和设计模式的书看看,同时自己动手写些简单的小程序(不依赖那些框架),把学到的模式理论结合到实践中。通过这种方式来提高自己OOAD的能力,效果会比较好。
后面来聊一下第3个通病:缺少良好的编程习惯。
http://program-think.blogspot.com/2009/01/defect-of-java-beginner-2-oo.html
分享到:
相关推荐
第二个通病是缺乏面向对象的基本功。Java是一种面向对象的语言,但在实际工作中,过度依赖框架可能导致开发者忽视了基础的面向对象设计原则。例如,多态性、接口继承与实现继承的优缺点、设计模式的应用等,这些都是...
2. 面向对象的理解不足 面向对象编程(OOP)是Java语言的核心理念,但是很多新手对OOP的基本概念,如多态、封装、继承等,理解和应用都不够深入。 - 基于接口的继承和基于实现的继承 接口的继承强调的是“是什么”...
Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty
cmd-bat-批处理-脚本-hello world.zip
知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。
在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。
该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。
cmd-bat-批处理-脚本-FTIME.zip
1747829038637.png
2025年自动化X光检查机项目大数据研究报告.docx
在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。
cmd-bat-批处理-脚本-msvc2017.zip
cmd-bat-批处理-脚本-virtualcam-install.zip
二十四节气之立秋介绍.pptx
cmd-bat-批处理-脚本-shift.zip
二十四节气之小雪介绍.pptx
java、SpringBoot面试专题,6页面试题
cmd-bat-批处理-脚本-GenerateUnionWinMD.zip
二十四节气之大暑节气.pptx
python实现五子棋游戏源码