面向对象开发技术(第三周)

这篇具有很好参考价值的文章主要介绍了面向对象开发技术(第三周)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

回顾

上一堂课主要学习了面向对象编程与非面向对象编程(面向功能、过程编程),本节课就重点来看看面向对象编程中的一个具体思想——抽象

面向对象编程的特性:1、封装性 2、继承性 3、多态性

封装:意味着提供服务接口

继承:意味着类之间层层的关系,也就是需要从上层到下层具体化,或从下层到上层抽象化

多态:意味着处理继承中的特殊情况,让类的关系更加自由

所以,本堂课重点来来看看抽象思想

抽象定义 

抽象:是建立、理解和管理复杂的系统最主要的技术

包括:1、对一个功能实现的过程细节有目的的隐藏

           2、以便让其他方面、细节表达的更清楚

举例:1、世界地图忽略细节以便呈现世界的整体样貌,整体关系

           2、地方性的地图重点展示各山峰、超市、街道等,而忽略了整体的样貌、关系

抽象层次

层次一、团体

在面向对象程序开发过程中,关于“团体有两个层次的含义:

1、首先是指程序员的团体,他们在现实世界中相互作用,以便开发出应用程序来。

2、第二个团体是这些程序员创建的对象的团体,它们在虚拟世界中相互作用,以完成它们的共同目标。

下图可以理解为一个程序的程序员团体一个程序的对象团体

面向对象开发技术(第三周),面向对象编程思想,基础知识,学习方法,编程思维

 层次二、单元

在面向对象程序开发过程中,单元的含义有:

1、许多协同工作的对象组合到一个“单元”中

2、这些单元允许某些特定的名称暴露在单元以外,而其他特征则隐藏在单元中

3、例如,Java” (packages)C++名字空间(name spaces)Delphi中的单元(units)

面向对象开发技术(第三周),面向对象编程思想,基础知识,学习方法,编程思维

注意:当用protected修饰类成员时,该类成员能够被其子类同一包中的其他类访问 

层次三、CS

在面向对象程序开发过程中,CS的含义有:

1、处理两个独立对象之间的交互

2、两个对象间交互时涉及两层抽象:一个对象(服务者, server)向另一个对象(客户, client)提供服务,二者之间以通信来交互

面向对象开发技术(第三周),面向对象编程思想,基础知识,学习方法,编程思维

层次四、服务实现方式

1、考虑第三层次中的服务中具体的实现方式

2、这个具体实现方式仍然存在一定抽象,包括:实现算法、数据结构等

面向对象开发技术(第三周),面向对象编程思想,基础知识,学习方法,编程思维

 层次五、具体实现

1、方法的具体实现逻辑(具体过程、具体的算法数据结构的实现)

2、关注执行一个方法的具体操作实现

总结

1、在软件产品设计的过程中,我们思考的层次从上到下进行的。因为越上层的抽象层度越高,越简洁。

2、软件开发团队布置任务的顺序也是从上层到下层,层层分解来布置的。越上层的其对应开发团队中的地位也相对更高

抽象方法 

特化分层

定义

特化分层又称为特殊化或具体化,在具体化的物体中抽象出一些共同的特性、特点归为一个特殊的上层类的方法就称为抽象

举例

一、汽车是一个有轮的载运工具,而有轮的载运工具又是一个载运工具,所以载运工具就是从汽车这个具体化的物体中抽象提炼出来的

二、生物分为动物和植物,动物又分为脊椎动物和无脊椎动物,脊椎动物包括哺乳动物,哺乳动物又分为猫、狗

分治法

定义

将一层复杂的系统划分为多个组成部分,从而将复杂系统简单化。任何平常接触的名词都是抽象化后的结果,例如:汽车、手机等。这些都是将许多系统(传动系统、显示系统等),甚至更底层可以说是物质组合后抽象归纳出来的东西

举例

汽车是由发动机、传动机构、车身和车轮组成的,要理解汽车这个概念,只要依次检查其组成部件就行了

面向对象开发技术(第三周),面向对象编程思想,基础知识,学习方法,编程思维

不同视角

定义

对同一件物品提供不同的视角。每一个视角会强调某一些细节而忽略其他细节,因此,对同一对象描述出不同的特性。本质上就是利用视角不同,对物体的功能和实现方式进行不同程度的抽象处理。

举例

一、机械师眼里的汽车和外行眼里的汽车,看法是很不一样的。机械师眼里的汽车抽象程度相对于外行人眼里的汽车就更低

二、服务视角:服务的制造者仅仅关注服务功能的实现并不关注使用的场地、环境等,服务的使用者仅仅关注什么时候使用服务并不关注服务的具体实现方式

面向对象开发技术(第三周),面向对象编程思想,基础知识,学习方法,编程思维

总结

如果觉得写的还不错,可以点个赞收藏一下呀~~

祝大家学业、事业、爱情顺利!

天天开心,没有Bug每一天

面向对象开发技术(第三周),面向对象编程思想,基础知识,学习方法,编程思维

 文章来源地址https://www.toymoban.com/news/detail-859316.html

到了这里,关于面向对象开发技术(第三周)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《面向对象编程技术》实验一 SDUWH

    内容来源网络收集,仅供参考 《面向对象编程技术》 实验一(本科三年级) 实验题目:掌握开发环境,创建首个Windows程序,理解编译、运行和调试的基本概念 整体目的:熟悉Visual Studio(Visual Studio 6.0 到 Visual Studio 2022的某个安装了Visual C++的环境)的环境,创建工程并在E

    2024年02月07日
    浏览(33)
  • 【IMX6ULL驱动开发学习】11.驱动设计之面向对象_分层思想(学习设备树过渡部分)

    一个 可移植性好 的驱动程序,应该有三个部分组成 1、驱动框架程序(xxx_drv.c) — 对接应用层的 open read write 函数,不做GPIO具体操作 2、硬件操作程序(xxx_chip_gpio.c)— 执行具体的GPIO操作,初始化、读写 3、硬件资源定义程序(xxx_board.c,这在之后就过渡成了设备树)— 为

    2024年02月11日
    浏览(32)
  • Python面向对象编程,实现模块化开发

    面向对象编程(Object Oriented Programming,OOP)是一种编程范式,它将真实世界中的事物抽象成程序中的对象,并通过对象之间的相互作用来完成程序的逻辑。 封装 (Encapsulation) 封装是指把数据和行为结合成一个相对独立的整体,防止程序中其他部分直接访问或修改这个整体,而

    2024年02月05日
    浏览(122)
  • Java面向对象思想以及原理以及内存图解

    面向过程 :面向过程是将解决问题的思路转为一个个方法。 面向对象 :面向对象则是编写一个对象,将这些思路封装成一个个对象方法,后续调用这个对象解决问题,相对面向过程而言,这种思路更符合人的思维并且更易扩展、复用、维护。 面向对象和面向过程性能差距:人们

    2024年02月04日
    浏览(34)
  • Java面向对象程序开发——网络编程入门知识

    ​ C/S结构 :client/sever是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :browser/sever是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 Web应用系统开发的两种流行架构 两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程,就是在一

    2024年02月12日
    浏览(31)
  • 【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(基础编程篇)

    Preconditions(前置条件):让方法调用的前置条件判断更简单 。 Guava在Preconditions 类中提供了若干前置条件判断的实用方法,我们强烈建议在 Eclipse 中静态导入这些方法。每个方法都有三个变种: 当方法没有额外参数时,抛出的异常中不包含错误消息,这会使得调用方很难确

    2024年02月07日
    浏览(44)
  • Linux与C/C++服务器开发:深入探索网络编程与实用技术(文末送书)

    🎥 屿小夏 : 个人主页 🔥个人专栏 : 书籍推荐 🌄 莫道桑榆晚,为霞尚满天! 本文将探讨构建高性能Linux C/C++服务器的关键技术和最佳实践,包括优化服务器性能、处理并发和并行性、高效管理内存,以及利用高级网络功能等。我们还将推荐一本相关的书籍《Linux C/C++服务

    2024年02月04日
    浏览(34)
  • 强推Linux高性能服务器编程, 真的是后端开发技术提升, 沉淀自身不容错过的一本经典书籍

    目录 第1章 TCP/IP协议 1.1 TCP/IP协议族体系结构以及主要协议 1.1.1 数据链路层 1.1.2 网络层 1.1.3 传输层 1.1.4 应用层 1.2 封装 1.3 分用 1.5 ARP协议工作原理 1.5.1 以太网ARP请求/应答报文详解 1.5.2 ARP高速缓存的查看和修改 1.5.3 使用tcpdump观察ARP通信过程所得结果如下 本篇核心关键所在

    2024年02月07日
    浏览(36)
  • 数据可视化——结合面向对象的思想实现数据可视化

    前面我们已经学习了如何使用 python 的 pyecharts 模块来实现数据可视化,将数据经过处理后以折线图、地图以及柱状图的形式展现出来,那么这篇文章我将以一个例子为大家分享如何结合 面向对象 的思想来实现数据可视化。 收集数据:收集需要进行可视化的数据,并确保数据

    2024年02月16日
    浏览(34)
  • [ XJTUSE ]JAVA语言基础知识——第一章 面向对象程序设计思想

    类描述了一组有相同 特性 (属性)和相同 行为 (方法)的对象,类和对象是面向对象思想的两个核心概念 · 人类是一种类,每一个具体的人则是这个类的对象 用面向对象程序来模拟真实世界 发现并创建类 发现类的特征 发现类的行为 在面向对象程序中,对象的特征由各种

    2023年04月13日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包