基于java面对对象编程范式笔记
https://www.icourse163.org/learn/NJU-1002246017?tid=1002791118#/learn/content
科学思维&工程思维
科学思维:限制条件可有可无,理论可行寻求未解决问题转变为解决问题的最优解;
工程思维:限制条件多,现实可行性下寻求折中方案,不坏的解。
软件工程的发展历史:
数学-计算机问题 计算机-冯诺依曼模型 软件工程-用工程的问题来开放软件
计算机思维:
数学为计算机提供理论和基础-现实问题->数学—>计算机解决
计算机用特有的软件(编程范式:命令式 函数式)和硬件(硬件结构:冯诺依曼结构 哈佛结构)
软件框架:编程范式(命令式 函数式 逻辑式) 层次性(机器指令 汇编指令 高级语言)
SSE技术:
软件工程框架:
技术:业务 分析设计模型 过程:软件开发过程
计算机模型的进步
高级语言编译器 高级模型
SDLC:系统生存周期 https://baike.baidu.com/item/sdlc
https://blog.csdn.net/xieyihua1994/article/details/52836855
分解与抽象:
层次性
分形-科赫雪花 套娃
HelloWorld:512中编程语言 76种人类语言 http://helloworldcollection.de/
需求:IEEE610.2-1990
用户为解决问题或达到某些目标所需要的条件/能力 系统(部件)为满足合同标准规范或其它正式文档所规定的要求而需要具备的条件/能力
用例:Jacobson 1992-Objectory 在系统/类和外部对象交互种所执行的行为描述,不同序列提供有价值的服务 行为序列为一个出南京,一个用例是多个场景的集合
用例特征:相对独立 发起者 动宾短语形式 一个需求单元 结果可测有意义
结构化编程思想
软件危机68069年两次Nato会议
结构图Structured Chart
树状图 表达模块/方法 后续构造活动
算法:
结构化程序设计 可分为循环sequence 选择selection 重复repetition
测试分支与循环
白盒测试:内部结构或运作,非功能,输入数据验证数据流在程序中的流动路径,并确定适当的输出
循环:简单 嵌套 连锁 不规则
“可以预期”的变更
面对对象的世界观
职责及分配:数据 (状态的存储) 行为(操作的执行)
数据职责:课程表数据 课程数据 命令数据 文件数据
行为职责:命令的解析 生成输出 课程数据的解析 控制台输入 处理命令 文件输入 控制台输出 文件输出
面对对象编程是有职责的对象之间的协作
视角:行为-结构化方法 数据-数据为中心方法 职责-面对对象方法
类&对象
对象:建模方式 客观问题空间Namespace中的某个具体的事物,又表示软件系统解空间中的基本元素
属性preperities+方法methods
获取对象:名词-类/对象与属性 动词-行为
类:相同具体属性的对象的描述 一个描述或蓝图
重用
封装:将数据和操作数据的行为放在一起 用职责驱动的设计原则来决定数据和行为的在一起 职责完备
转载于:https://www.cnblogs.com/Pucua/p/9774712.html
基于java面对对象编程范式笔记相关推荐
- java俄罗斯方块视频_[VIP视频]【A0233】java面对对象编程-俄罗斯方块视频教程 高清视频 百度云 百度网...
Java视频教程名称:java面对对象编程-俄罗斯方块视频教程 俄罗斯方块视频教程 $ X0 X1 Z: W4 P3 T e. m3 q百度网盘下载链接: . M% x- I- V5 p( J 游 ...
- java面对对象编程
因为这直接关系到你阅读设计模式的速度和理解质量. 接下来我将简单介绍java中面对对象编程的一些基础知识. 1,类和修饰符 public class ClassTest{public ClassTes ...
- 易语言java类_易语言面对对象编程
易语言面对对象编程---类的创建与使用 面对对象编程,可以说是当前最流行的编程方式,当前流行的面对对象的编程语言很多,如:C++.JAVA等等.易语言3.8版推出后,同样紧跟编程语言发展的方向,也开始 ...
- SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理
SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理 本文连接 简介 SIGIA_4P 网址 a. 课程OKR Objectives and ...
- 面对对象编程(OOP, Object Oriented Programming)及其三个基本特性
一千个读者,一千个哈姆雷特.对于面对对象编程,书上都会告诉我们它有三个基本特性,封装,继承,多态,但谈起对这三点的见解,又是仁者见仁智者见智,感觉还是得多去编程中体验把 . 面向对象编程(OOP, O ...
- api有哪些 javasocket_基于java的socket编程及API解析
一.socket通讯过程 1.socket与socket编程简介: socket 被翻译为"套接字",它是计算机之间进行通信的一种约定或一种方式.通过 socket 这种约定,一台 ...
- Java 8 函数式编程学习笔记
Java 8 函数式编程学习笔记 @(JAVASE)[java8, 函数式编程, lambda] Java 8 函数式编程学习笔记 参考内容 Java 8中重要的函数接口 扩展函数接口 常用的流操作 ...
- 基于Java Swing界面编程教学
基于Java Swing界面编程 Swing是Java基础类的一部分,是一个为Java设计的GUI工具包. Swing包含了诸多图形用户界面(GUI)器件,提供了许多比awt更好的屏幕显示元素. 本教 ...
- 【Java】函数式编程学习笔记——Stream流
学习视频:https://www.bilibili.com/video/BV1Gh41187uR?p=1 (1)[Java]函数式编程学习笔记--Lambda表达式 (2)[Java]函数式编程学习笔 ...
最新文章
- SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large – 之原因分析
- HDU 3046 Pleasant sheep and big big wolf 最小割
- 大疆无人机高程不准_大疆消费级无人机快速倾斜摄影测量实践
- Toolkit.getDefaultToolkit().getScreenSize();获取显示器屏幕大小并使JFrame窗口居中显示
- Reporting Services 2016中不推荐使用的5大功能
- VS2010开发环境之使用技巧
- educoder实训平台linux,educoder平台hadoop开发环境搭建[技术学习]
- 如何卸载mysql教程(按照步骤可完全卸载)
- Atheros QCA8337交换芯片驱动开发
- Python+OpenCV实现车牌检测与识别
- 8080端口被占用的解决办法
- 十三、VMware vSphere 6.7虚拟化云管理之13、VCSA6.7设置主机许可
- 2022-5-6作业
- 三维人脸表情识别综述学习笔记
- 虾皮运营-shopee台湾站实战教程
- 蓝牙远距离,一对多解决方案
- beautifulsoup html内容_用python3教你任意Html主内容提取
- UnityShader学习笔记 Unity的表面着色器
- Nginx部署Vue项目动态路由刷新404
- 我编码中的爱打#号的习惯