首页 > 编程语言 >《计算机基础与程序设计》第九周

《计算机基础与程序设计》第九周

时间:2024-11-17 12:18:20浏览次数:1  
标签:计算机 对象 子类 代码 程序设计 第九 方法 属性

作业信息
这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)
这个作业的目标 <写上具体方面>
作业正文 ... 本博客链接
教材学习内容总结
《计算机科学概论》第九章
第九章围绕面向对象设计和高级程序设计语言,阐述了核心概念、语言特性、设计原则以及建模语言相关内容,为理解和实践软件开发中的相关工作提供了重要知识基础。
一、面向对象设计基础
类与对象
类:是一种抽象的数据类型,作为对象的模板来定义对象具有的属性(数据成员)和行为(成员方法),规定了同一类对象共有的特征和操作。
对象:是类的具体实例,基于类的定义创建出来,每个对象都拥有各自独立的属性值,可调用类中定义的方法来实现相应行为。例如,定义 “学生” 类包含姓名、年龄等属性和学习、考试等方法,而具体某个叫 “张三” 的学生就是 “学生” 类的一个对象。
封装
将对象的属性和操作这些属性的方法包装在一起,对外隐藏内部实现细节,只通过特定的接口来访问和操作对象内的数据,以此增强数据安全性、提高代码可维护性,防止外部随意篡改数据。比如在银行账户类中,账户余额属性被封装,外部只能通过存款、取款等规定方法来操作余额。
继承
允许一个类(子类)获取另一个类(父类)的属性和方法,子类可以在继承的基础上添加、修改或重写自己特有的属性和方法,能有效减少代码冗余、提高复用性。例如 “哺乳动物” 类作为父类有呼吸、进食等方法,“猫” 类作为子类继承 “哺乳动物” 类后,还可添加如 “抓老鼠” 的特有方法。
多态
不同类的对象对同一消息(方法调用)能做出不同响应,具体表现为同一个方法名在不同类中有着不同的实现内容,增加了代码灵活性与可扩展性。像 “图形” 类有 “绘制” 方法,“圆形”“矩形” 等子类继承 “图形” 类后重写 “绘制” 方法,各自按自身图形特点来绘制。
二、高级程序设计语言特性
自动内存管理
许多高级语言自带自动内存管理机制,常见的如垃圾回收(Garbage Collection)。它能自动检测并回收程序中不再使用的内存空间,程序员无需手动去分配和释放内存,极大降低了因内存管理不当引发的错误,像 Java、Python 等语言都具备该特性。
异常处理
用于妥善处理程序运行期间出现的意外情况(异常),比如输入错误、运行时错误等。通过相应的语法结构(如 Java 中的 try-catch 语句块),程序可以捕获异常,并按设定的方式进行处理,避免因异常导致程序崩溃,保证程序能较为平稳地运行。
泛型编程
能够编写通用代码,使其适用于多种不同的数据类型,而不是局限于某一特定类型,提升了代码复用程度和可维护性。例如 C++ 中的模板(Templates),可以定义函数模板或类模板,能根据传入的不同类型参数进行相应的操作。
三、面向对象设计原则
单一职责原则
一个类应该只专注于完成一项主要职责,让类的功能更纯粹、内聚性更强,这样在后续维护或修改代码时,因职责明确而更容易操作,避免一个类承载过多功能,一处变动影响多处的情况。
开闭原则
要求软件实体(类、模块、函数等)对扩展是开放的,意味着可以方便地添加新功能;而对修改是封闭的,即尽量不改动已有代码就能实现功能扩展,以此保障软件的稳定性,减少因修改旧代码带来的潜在风险。
里氏替换原则
子类对象必须能够替换掉父类对象,并且替换后程序的行为和逻辑依然正确,强调了继承关系下代码的可替换性和兼容性,确保继承体系的合理与稳定。
四、UML(统一建模语言)相关知识
UML 图类型及作用
类图:核心的 UML 图,用于清晰展现系统中的各类、类的属性、方法以及类与类之间的关系(如关联、继承、聚合等),为系统架构设计和代码实现提供直观的参考蓝图。
对象图:是类图的实例化表达,展示特定时刻系统中实际存在的对象以及它们之间的相互关系,帮助理解系统运行时的具体状态。
用例图:着重描述系统的功能需求,体现用户与系统之间的交互关系,明确系统能为用户做什么,辅助进行需求分析和功能界定。
《C语言程序设计》第七章
第七章主要讲解了函数的概念以及函数的使用,递归函数,函数嵌套,以及变量的作用域生存域及其使用,并介绍了模块化程序设计的思维方法
例如递归函数
int factorial(int n) {
if (n == 0) {
return 1;

}
return n * factorial(n - 1);

}

教材学习中的问题和解决过程(先问 AI)
基于AI的学习
对课上不是很懂的知识点通过AI进行复习

标签:计算机,对象,子类,代码,程序设计,第九,方法,属性
From: https://www.cnblogs.com/liumingyu123456789/p/18550416

相关文章

  • 计算机网络技术02141考试笔记【第三章考试重点笔记】
    第三章 网络协议和体系结构【重点】第一节 网络协议和体系结构概述一、网络协议的概念    为了保证通信正常进行,必须事先做一些规定,而且通信双方要正确执行这些规定。同时,只有通信双方在这些规定上达成一致,彼此才能够互相“理解”,从而确保通信的正常进行。这种通信......
  • Springboot计算机毕业设计景区票务管理系统90f0m
    Springboot计算机毕业设计景区票务管理系统90f0m本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:用户,景点介绍,景点分类,购票信息,退票信息开题报告内容一、项目背景随着旅游业的蓬勃发展和人民......
  • 【计算机毕业设计选题推荐】基于spring boot的交通旅游订票系统的设计与实现 【附源码
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • 2024-2025-1 20241417 《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第八周作业这个作业的目标功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行作业正文https://www.cnblogs.c......
  • # 学期2024-2025-1 学号(20241405) 《计算机基础与程序设计》第8周学习总结
    作业信息|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08||这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行||作......
  • 北美竞赛-加拿大计算机竞赛CCC-收获滑铁卢
     给定一个 R×CR×C 的方格矩阵。矩阵左上角方格坐标为 (0,0)(0,0),右下角方格坐标为 (R−1,C−1)(R−1,C−1)。每个方格中要么有南瓜,要么有干草。南瓜分为大、中、小三种。初始时,一个农民位于方格 (A,B)(A,B)。他可以朝上下左右四个方向自由移动,但是他不能走出矩阵,也......
  • Springboot计算机毕业设计课程管理系统的设计与实现v9g4e
    Springboot计算机毕业设计课程管理系统的设计与实现v9g4e本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:学生,教师,课程信息,学生选课,取消选课,课程成绩,学生请假,教师评价,学生评价开题报告内容......
  • 2024-2025-1 20241423 《计算机基础与程序设计》第八周学习总结
    作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计]https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里2024-2025-1计算机基础与程序设计第一周作业这个作业的目标功能设计与面向对象设计、面向对象设计过程、面向对象语言三......
  • (赠源码)基于Java Web+springboot+MySQL的Unishare闲置物品共享系统研究22945-计算机毕
    摘 要随着科技的快速迭代和人们环保意识的提高,共享经济逐渐成为社会发展的重要趋势。然而,在现实生活中,人们的消费水平大大提高,存在很多闲置物品无人问津,造成了一定的资源浪费和环境污染。与此同时,许多人需要使用这些闲置物品,却不知道如何获取。这种情况下,基于JavaWeb的Uni......
  • java+SSM+MySQL非遗传承背景下甘肃人文宣传网站051441-计算机毕设 原创(赠源码)
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对非遗传承背景下甘肃人文宣传网站等问题,对非遗传承背景下甘肃人文宣传网站进行研究分析,然后开......