目前的主流开发领域有两种开发方法,即结构化开发方法和面向对象开发方法,早期的语言C,Basic等都是结构化编程语言。
结构化程序设计
结构化程序设计方法主张按照功能来分析系统需求,其主要原则可概括为自顶向下,逐步求精,模板化等,结构化程序设计首先采用结构化分析方法对系统进行需求分析,然后采用结构化设计方法对系统进行概要设计,详细设计,最后采用结构化编程方法来实现系统。
因为结构化程序设计方法主张按照把软件系统逐步细分,因此这种方法也叫做面向功能的程序设计或者面向过程的程序设计。
结构化程序设计里最小的程序单元是函数,每个函数都负责完成一个功能,用于接收一些输入数据,函数对这些输入数据进行处理,处理结束后输出一些数据,整个软件系统由一个一个函数组成,其中程序入口的函数被称为主函数,主函数一次调用其他普通函数,普通函数之间一次调用,从而完成整个系统的功能。
那么为什么要使用面向对象编程呢?是因为结构化程序设计有两个局限性
:
1:设计不够直观,与人类的习惯思维不一直,采用结构化程序设计,开发者需要将客观世界模型分解成一个一个功能,每个功能用以完成一定的数据处理。
2:适应性差,可扩展性差,由于结构化设计采用自顶向下的设计方式,所以当用户的需求发生改变,或需要修改现有的实现方式都需要自顶向下的修改模块结构,这种方式的维护成本很大。
面向对象
程序设计
面向对象是一种更加优秀的程序设计方法,它的基本思想是使用类,对象,继承,封装,消息等基本概念来进行程序设计,它是将现实世界模拟成一个系统,将现实世界中客观存在的事物模拟成系统中的对象,并在系统构造中尽可能的使用人类的自然思维方式,强调直接以现实世界中的食物为中心来思考问题,认识问题,并根据这些食物的本质特点,把他们抽象表示为系统中的类,作为系统的基本构成单元,这使得系统可以直接映射客观世界,并保持客观世界中事物及相互关系的本来面貌。
开发者从自己使用的角度或认识角度出发来定义类,就是说,我们定义类的目的是希望模拟客观世界的某种事物,并让自己明白这种食物是用来干嘛的,对我们有什么意义,这就是面向对象方式的主要思考方式,因此面向对象程序设计的主要优点是:与人类的思维方式一致,稳定性好,可重用性好,易于开发大型软件产品,可维护性好。
面向对象编程的主要有三个特征:封装,继承,多态。
继承
是面向对象实现软件复用的重要手段,当子类继承父类以后,子类作为一种特殊的父类,将直接得到父类的属性和方法。
封装
只的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能,通过封装可以增加程序良好的复用性。
多态
是指子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着这个类型的对象在运行时可能表现出不同的行为特征。
除此之外,抽象也是面向对象的重要特征,抽象就是忽略一个主题中与当前目标无关的那些方面,以便更加充分的注意与当前目标有关的方面,抽象并不是打算了解一个对象的方方面面,它只关注对当前目标相关的那些部分。
在java中,有一个核心思想那就是:一切都是对象。出了八个基本类型之外,其他的都是对象,不仅仅是事物,它还能表示一个规则一个计划一个事件等等.
分享到:
相关推荐
接着,通过`getline`函数获取用户输入的课程名,并使用`setCourseName`函数更新`myGradeBook`的课程名,最后再次显示更新后的欢迎信息。 进一步分析这个程序,我们可以看到以下关键知识点: 1. **封装**:`...
“用文本保存了”意味着资料是以文本格式存储的,这通常是易于阅读和理解的,对于初学者来说非常友好。“初级用”则明确了这些资料是面向初学者的,所以可能会涵盖基础概念、语法和简单的编程示例。 【标签】:...
这将是一个很好的学习素材,因为通过阅读和分析源码,我们可以深入理解各种技术的实际应用和最佳实践。 【标签】中的关键词提供了更多具体的技术方向: 1. **React**:这是一个流行的JavaScript库,用于构建用户...
内容概要:本文详细介绍了使用COMSOL多物理场仿真软件,在热流固耦合框架下,研究二氧化碳驱替甲烷过程中的煤层变形、孔渗变化及其对甲烷产量和二氧化碳封存量的影响。首先,文章解释了二氧化碳驱替甲烷作为一种关键技术的意义,然后逐步展示了模型的构建方法,包括设定煤层作为多孔介质、考虑其复杂物理特性(如渗透率、孔隙度)以及模拟二氧化碳注入和甲烷释放过程。接着,通过对模拟结果的分析,揭示了煤层在二氧化碳注入后的明显变形、孔渗特性的显著变化,最终得出甲烷产量与煤层孔渗特性紧密相关,而二氧化碳封存量受煤层变形和孔渗变化影响的结论。最后,强调了该模型对未来理解和优化驱替过程的重要性。 适合人群:从事能源领域研究的专业人士,尤其是关注二氧化碳驱替甲烷技术的研究人员和技术人员。 使用场景及目标:适用于需要深入了解二氧化碳驱替甲烷过程中煤层变形和孔渗变化机理的研究项目,旨在提高甲烷产量和二氧化碳封存量的理解和优化。 其他说明:文中提供了详细的建模步骤和代码分析,有助于读者掌握COMSOL多物理场仿真的具体操作方法。
少儿编程scratch项目源代码文件案例素材-我的世界 守卫者.zip
内容概要:本文详细探讨了制造业工厂中两条交叉轨道(红色和紫色)上的自动导引车(AGV)调度问题。系统包含2辆红色轨道AGV和1辆紫色轨道AGV,它们需完成100个运输任务。文章首先介绍了AGV系统的背景和目标,即最小化所有任务的完成时间,同时考虑轨道方向性、冲突避免、安全间隔等约束条件。随后,文章展示了Python代码实现,涵盖了轨道网络建模、AGV初始化、任务调度核心逻辑、电池管理和模拟运行等多个方面。为了优化调度效果,文中还提出了冲突避免机制增强、精确轨道建模、充电策略优化以及综合调度算法等改进措施。最后,文章通过可视化与结果分析,进一步验证了调度系统的有效性和可行性。 适合人群:具备一定编程基础和对自动化物流系统感兴趣的工程师、研究人员及学生。 使用场景及目标:①适用于制造业工厂中多AGV调度系统的开发与优化;②帮助理解和实现复杂的AGV调度算法,提高任务完成效率和系统可靠性;③通过代码实例学习如何构建和优化AGV调度模型,掌握冲突避免、路径规划和电池管理等关键技术。 其他说明:此资源不仅提供了详细的代码实现和理论分析,还包括了可视化工具和性能评估方法,使读者能够在实践中更好地理解和应用AGV调度技术。此外,文章还强调了任务特征分析的重要性,并提出了基于任务特征的动态调度策略,以应对高峰时段和卸载站拥堵等情况。
内容概要:本文介绍了一个使用MATLAB编写的基于FDTD(时域有限差分)方法的电磁波在自由空间中传播的仿真系统。该系统采用了ABC(吸收边界条件)和正弦脉冲激励源,并附有详细的代码注释。文中首先介绍了关键参数的选择依据及其重要性,如空间步长(dx)和时间步长(dt),并解释了它们对算法稳定性和精度的影响。接着阐述了电场和磁场的初始化以及Yee网格的布局方式,强调了电场和磁场分量在网格中的交错排列。然后详细讲解了吸收边界的实现方法,指出其简单而有效的特性,并提醒了调整衰减系数时需要注意的问题。最后,描述了正弦脉冲激励源的设计思路,包括脉冲中心时间和宽度的选择,以及如何将高斯包络与正弦振荡相结合以确保频带集中。此外,还展示了时间步进循环的具体步骤,说明了磁场和电场分量的更新顺序及其背后的物理意义。 适合人群:对电磁波传播模拟感兴趣的科研人员、高校学生及工程技术人员,尤其是那些希望深入了解FDTD方法及其具体实现的人群。 使用场景及目标:适用于教学演示、学术研究和技术开发等领域,旨在帮助使用者掌握FDTD方法的基本原理和实际应用,为后续深入研究打下坚实基础。 阅读建议:由于本文涉及较多的专业术语和技术细节,建议读者提前熟悉相关背景知识,如电磁理论、MATLAB编程等。同时,可以通过动手实践代码来加深理解和记忆。
少儿编程scratch项目源代码文件案例素材-小鸡会飞.zip
房地产 -云南农博园项目一组团(河尾村)产业规划构思.pptx
haproxy-2.2.17
少儿编程scratch项目源代码文件案例素材-音乐飞翔.zip
少儿编程scratch项目源代码文件案例素材-信仰.zip
scratch少儿编程逻辑思维游戏源码-锯切片.zip
scratch少儿编程逻辑思维游戏源码-货车.zip
scratch少儿编程逻辑思维游戏源码-火箭动力超级鱿鱼.zip
scratch少儿编程逻辑思维游戏源码-滚动的天空.zip
scratch少儿编程逻辑思维游戏源码-极速求生.zip
scratch少儿编程逻辑思维游戏源码-火柴人战争.zip
内容概要:本文详细介绍了MATLAB一维PCHE微通道换热器模型在能源工质系统中的应用。首先,文章阐述了PCHE的设计与模型建立,强调了进出口节点温度参数对确定PCHE长度和换热量的重要性。接着,文中采用了湍流型长直半圆通道Gnielinki方程来计算流动换热的努塞尔数,从而评估PCHE的换热性能。最后,通过MATLAB调用Refprop物性库求解普朗特数,进一步优化PCHE的设计,提升其换热效率。研究表明,这种模型有助于提高能源工质系统的换热性能,推动微通道换热器在能源领域的广泛应用。 适合人群:从事能源工程、热力学、换热器设计等相关领域的研究人员和技术人员。 使用场景及目标:适用于需要精确计算和优化微通道换热器性能的研究项目,旨在提高能源利用效率并减少环境污染。 其他说明:随着计算机技术的发展,一维PCHE微通道换热器模型将进一步完善,为能源领域的发展提供更强有力的支持。
少儿编程scratch项目源代码文件案例素材-星际飞船.zip