面向对象技术(第一周)

目录

⚽前言

🏐面向对象思想 

起源

现实

编程联系

面向对象思想总结

🏀面向对象开发方法

开发中的名词:

名词间的关系

名词具体阐释

一、对象

二、消息和方法:


前言

本文所有知识点和内容均来自山东大学潘丽老师及山东大学教研组PPT。

面向对象思想 

起源

面向对象思想起源于人类生活中解决问题的传统思维方式。也就是说面向对象思想的本质就是让编程解决问题变得和人类在现实世界中解决问题的方式变得非常相近。

总之,

面向对象思想就是人类现实中解决问题的本质思想

现实

从图中我们可以总结出一下几个点:

一、我们会去寻找代理人帮助我们解决生活中的问题。图中Chris想要在cityA中买花,于是他找到了代理人Fred花店,Fred将为他提供花。

二、代理人可以寻找其他代理人。Fred花店的花也不是从头到尾由店主自己种植的,他需要下属、花卉批发商、快递员帮他把花送到Fred花店中。

编程联系

此处总结的思想和现实中一一对应:

一、面向对象编程中,我们想要解决一个问题也不再是直接写一个函数或者写一段代码单纯为了这个功能。而是写一个对象,让这个对象能够调用一个函数,而这个函数能够帮助我们解决这个问题。Fred花店就是一个对象,其卖花功能就是一个函数,这个函数能够解决我们的一个需求。

二、面向对象编程中,我们调用一个对象的一个函数时,这个函数的功能实现也可能调用了其他对象的函数功能。例如Fred花店对象的卖花功能就需要先调用花卉批发商的卖花函数、下属摆花售卖函数以及快递员送花到店里的函数,然后Fred花店卖花的功能才能够实现。

面向对象思想总结

面向对象开发方法

开发方法就是指一种编程开发模型:该模型按照人们通常的思维方式建立问题领域的模型,设计出尽可能自然的表示求解方法的软件。

开发中的名词:

一、类

二、对象

三、属性

四、操作

名词间的关系

一、类与对象的关系

类是一种抽象的概念,在现实世界中是找不到具体实体的;对象是类的具体实例 ,是由类具体化从所产生的,在现实世界中是存在的,其核心的属性是有生成对象对应的类所决定的。

举个例子:山东大学学生是一个类,由山东大学学生这个类生成的张三就是一个具体的对象,而这个对象所有的核心属性是由山东大学学生这个类所决定的。

二、属性、操作与对象的关系

特别补充:对象的属性和操作是由对象去具体拥有且操作的,但是其根本来源生成该对象的类

名词具体阐释
一、对象

对象性质:

1、封装性:信息隐藏 

2、自治性:主动数据(每个对象都有总结的数据且能独立进行操作)

3、通信性:并发(不同对象之间能够相互调用,合作完成一个功能)

4、暂存性:作用域

5、永久性:文档串行化(数据库的一种替代方案,文档对象的串行化是指对象的持续性,即对象可以将其当前状态,由其成员变量的值表示,写入到永久性存储体(通常是指磁盘)中。下次则可以从永久性存储体中读取对象的状态,从而重建对象。这种对象的保存和恢复的过程称为串行化

基本思想:

要点一在上文中已经得到阐释,这里不再赘述。

要点二的本质就是上文所说的对象是由类生成的具体实例,其核心属性由类所决定。

要点三引出了新的一个名词的“消息”其本质就是上面提到的操作的接受对象。

二、消息和方法:

一个操作的完成依赖于消息以及消息的接收器——对象。只有对象存在且接受到了正确的消息,一个操作才能正确完成。

例如上面提到的买花人只有到达Fred花店并正确地告诉店主需要购买什么花后,店主才能够把他所需要地花交到它地手中。店主有卖花这个方法,同时接受到了买花人提供给店主买什么花的信息,所以最终这个操作才得以完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/450928.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

京津冀协同发展:北京·光子1号金融算力中心——智能科技新高地

京津冀协同发展是党中央在新的历史条件下提出的一项重大国家战略,对于全面推进“五位一体”总体布局,以中国式现代化全面推进强国建设、民族复兴伟业,具有重大现实意义和深远历史意义。随着京津冀协同发展战略的深入推进,区域一体…

unique_ptr使用说明

背景 指针问题一直是一个比较麻烦的事情,比如很多人说要用智能指针完全替换掉裸指针,有人说要用unique_ptr, 有人建议shared_ptr,可是实际看各种经典框架,发现一个框架什么指针都有,使用的方法也是无法八门,这里简单说…

可访问性使命:Facebook构建无障碍社交空间

在当今数字化时代,社交媒体已成为人们日常生活的重要组成部分,而Facebook作为全球最大的社交平台之一,其使命不仅在于连接世界,还在于构建一个无障碍的社交空间,让每个人都能参与其中。本文将深入探讨Facebook在可访问…

几个增强诊断详解

几个增强诊断 基于CAN线 ISO15031-5是排放相关的应用层协议,它不关心我们使用K线还是CAN线,主要用于监控车辆基本参数,例如监控里程、车速;用于监控排放相关的参数,比如各种尾气的含量,氧含量等等&#xf…

红队笔记7--Web机器为Linuxdocker逃逸

其实,不知道大家有没有想过,我们之前练习的都是web机器是windows的版本,但是其实,在现实生活中,服务器一般都是Linux的版本,根本不可能用到windows的版本 那么如果是Linux的话,我们就有很多的困…

【正点原子STM32探索者】CubeMX+Keil开发环境搭建

文章目录 一、简单开箱二、资料下载三、环境搭建3.1 安装Keil MDK3.2 激活Keil MDK3.3 安装STM32CubeMX3.4 安装STM32F4系列MCU的Keil支持包 四、GPIO点灯4.1 查阅开发板原理图4.2 创建STM32CubeMX项目4.3 配置系统时钟和引脚功能4.4 生成Keil项目4.5 打开Keil项目4.6 编译Keil…

K8s的kubeadm方式部署集群实例

目录 一、准备环境 主机清单 修改主机名 设置防火墙、selinux状态 主机名解析 固定ip 重启网卡 同步时间 关闭swap分区 二、获取镜像 三、安装docker 四、配置kubeadm源 安装依赖包及常用插件 1.配置kubeadm源,安装对应版本 2.加载相关ipvs模块 3.配…

Day17:开发流程、开发社区首页、项目的调试、版本控制

开发流程 一次请求过程 先开发DAO,再开发service,再开发controller 开发社区首页的分布实现 显示前10个帖子 创建帖子数据表 CREATE TABLE discuss_post (id int NOT NULL AUTO_INCREMENT,user_id varchar(45) DEFAULT NULL,title varchar(100) DEF…

使用Java的等待/通知机制实现一个简单的阻塞队列

Java的等待/通知机制 Java的等待通知机制是多线程间进行通信的一种方式。 有三个重要的方法:wait(),notify() 和以及notifyAll() wait():该方法用于让当前线程(即调用该方法的线程)进入等待状态并且释放掉该对象上的…

SpringBoot中配置nacos

SpringBoot中配置nacos 在SpringBoot中使用nacos一定要注意name&#xff0c;使用openfeign特别要注意这个点。 spring:application:name: item-service需要的依赖包 config需要引入的包 <dependency><groupId>com.alibaba.cloud</groupId><artifactId…

搜索引擎:引擎霸屏推广的未来趋势解读-华媒舍

1. 引擎霸屏推广 引擎霸屏推广是一种广告推广策略&#xff0c;通过借助搜索引擎的广告服务&#xff0c;让广告展示在用户搜索关键词时的首页位置&#xff0c;以吸引潜在客户点击进入宣传页面。这种推广方式具有精准定位和较高的曝光率&#xff0c;对于产品推广和品牌塑造非常有…

IT驻场外包能提供哪些类型的服务?

随着信息技术的飞速发展&#xff0c;IT驻场外包作为一种高效的企业服务模式&#xff0c;正逐渐成为企业提升效率和削减成本的首选。这种外包形式将专业的IT人员直接派驻到客户现场&#xff0c;为企业提供全方位的技术支持和服务。本文将深入研究IT驻场外包所能提供的多种服务类…

51单片机基础篇系列-超声波测距

&#x1f308;个人主页&#xff1a;会编辑的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” HC-SR04产品特点 典型工作用电压&#xff1a;5V 超小静态工作电流&#xff1a;小于2mA 感应角度&#xff1a;不大于15度 探测距离&#xff1a;2cm-400cm 高精度&#…

新一代国产人工心脏推出,《2024心衰器械白皮书》重磅发布

2024年3月2日&#xff0c;永仁心医疗“EVA-Pulsar™新品发布会”在京举办。在国内外众多领域知名专家、投资人、企业家的共同见证下&#xff0c;永仁心最新一代EVA-Pulsar™人工心脏&#xff08;心室辅助装置&#xff09;重磅发布。 这款人工心脏集长期植入、超小体积、脉动血…

求最大公约数

本期介绍&#x1f356; 主要介绍&#xff1a;求两数的最大公约数&#xff0c;通过辗转相除法计算。 文章目录 1. 求最大公约数2. 遍历法3. 辗转相除法 1. 求最大公约数 题目&#xff1a;给定两个数&#xff0c;求这两个数的最大公约数。   最大公约数&#xff1a;指两个或多个…

MySQL--执行一条 select 语句,期间发生了什么?

执行一条 SQL 查询语句&#xff0c;期间发生了什么&#xff1f; 连接器&#xff1a;建立连接&#xff0c;管理连接、校验用户身份&#xff1b;查询缓存&#xff1a;查询语句如果命中查询缓存则直接返回&#xff0c;否则继续往下执行。MySQL 8.0 已删除该模块&#xff1b;解析 …

AI“造神运动”终结,杀死,重生

AGI回归本质&#xff0c;百亿美金创业机会涌现。 “专注AI技术迭代会让我焦虑&#xff0c;关注业务我不会焦虑&#xff0c;有些问题十年前存在十年后还在&#xff0c;我现在就明确不卷模型&#xff0c;只思考如何让产品能自我‘造血’。” 一位正卷在AI创业洪流里的硅谷创业者…

Qt对象树

对象树 1.QLabel* label new QLabal(this) 这个代码在new了之后没有释放&#xff0c;不会造成内存泄漏。 原因是这个对象是挂到了对象树上。 qt就是设计了一个n叉树&#xff0c;将各种元素组织起来了。 例如以下图 通过树形结构&#xff0c;就把界面上显示的这些控件对象…

韶音运动耳机好用吗?南卡、墨觉、韶音骨传导耳机三款全面评测

音乐是我生活中不可或缺的调味品&#xff0c;它伴随着我度过了无数个清晨的慢跑以及夜晚的悠闲散步。但是传统入耳式耳机总是让我感到不适&#xff0c;虽然它有着不错的降噪能力&#xff0c;但是很容易忽视周围环境的安全&#xff0c;而且运动的时候老容易掉。然后我遇到了骨传…

新质生产力浪潮下,RPA如何成为助力先锋?

新质生产力浪潮下&#xff0c;RPA如何成为助力先锋&#xff1f; 在数字化、智能化的今天&#xff0c;“新质生产力”一词越来越频繁地出现在我们的视野中。那么&#xff0c;究竟什么是新质生产力&#xff1f;它与我们又有什么关系&#xff1f;更重要的是&#xff0c;在这一浪潮…