Faceto_object_programdesign
一面向对象程序设计思想
1 和面向过程关注点不同
过程: 程序执行流程和逻辑 (局部功能)
对象: 程序中的对象 (程序结构)
2 对象
现实世界中的实体和事物 可以看成是一种具有自身属性和功能的构件,
程序是由不同的对象组成,实现程序的功能是调用对象的功能
(在Java中,指由类创建的对象)
类(对同类事物的抽象描述)
3 如何学习面向对象程序设计思想
Everything is Object !
想到某一功能,应该想到哪一对象具备该功能
提到数据,首先想到该数据属于哪一个对象
4 面向对象设计步骤
提炼对象
分析程序中的对象有哪些(名词法)、抽象
对同一类事物抽象描述
属性:事物的特征和外观
行为:对象的功能
描述对象
创建对象
调用对象
5 面向对象的三大特性
封装:对外隐藏,对内公开(隐藏内部实现细节)高内聚,低耦合(为了保护程序的正常使用和运行)
继承:实现代码的复用
多态:同一操作,不同对象不同实现(行为)
二 界面和业务逻辑的分离
分层思想:将整个应用程序分解为若干个层次(表示层、业务层、数据访问层)。软件的需求是会改变的,
要以最少的改变以适应软件需求的改变。在系统中,有很多部分是稳定不变的。有些部分是以与改变的。
用户注册:用户输入用户名、判断用户名是否存在、判断用户名是否合法(符合制定的规则,如长度不能少于八位,
只能包含字母、数字,不能包含其他特殊字符),用户输入密码(密码符合制定的规则),两次输入密码,并且要判断两次密码是否相同。最后,
用户名不存在且符合规则,密码符合规则,且两次输入相同,然后进行注册,所谓注册就是将用户名和密码写入到数据库中。
找出系统中稳定不变的部分和易变的部分,
最根本的目的:采用分层思想,将应用程序分为多个层次,提高软件的可维护性。
三 ATM取款机、扑克牌游戏
1 ATM取款机
界面 : 显示欢迎信息、显示菜单、身份验证(只负责数据的输入和验证结果的提示,以及输入数据的合法性判断)、查询(只负责显示,
卡内余额是由业务层提供的)、取款(只负责数据的输入与显示,具体修改卡内余额、机内余额等都是业务逻辑范围)
业务:查询(只返回余额,并不决定怎么显示数据)
2 扑克牌游戏
生成扑克牌、洗牌、抽牌、比较牌的大小、输出结果
业务逻辑:生成扑克牌、洗牌、抽牌、比较牌的大小
界面:计算抽牌的界面、用户抽牌的界面、输出结果的显示
Faceto_object_programdesign的更多相关文章
随机推荐
- 第 4 篇 Scrum 冲刺博客
每天举行会议 会议照片: 昨天已完成的工作与今天计划完成的工作及工作中遇到的困难: 成员姓名 昨天完成工作 今天计划完成的工作 工作中遇到的困难 蔡双浩 实现收藏夹功能 实现重设计的个人界面功能 无 ...
- 百度前端技术学院-基础-day2
2020.9.15 今天是学习前端基础技术的第二天,今天制作了一个在线简历,纯html的那种.帮助我复习了以前的基础知识,也增加了新的知识点,比如制作列表可以用fieldset来整合数据. 我的在线简 ...
- js 几种跨域解决方法
同源策略: JS只能与同一个域中的页面进行通讯,必须是协议.域名.端口都相同,相同域下才能相互通信,这可以被认为是一种通信原则,叫同源策略. 跨域: js跨域是指通过js在不同的域之间进行数据传输或通 ...
- CSS全览_选择符+特指+单位+字体
CSS全览_选择符+特指+单位+字体 目录 CSS全览_选择符+特指+单位+字体 1. CSS样式 2. 选择符 3. 特指度和层叠 4. 值和单位 5. 字体 作者: https://www.cnb ...
- PCANBasic开发(二)
使用Peak的PCan转换器开发,使用其中的PCanBasic.dll // PCANBasic.cs // // ~~~~~~~~~~~~ // // PCAN-Basic API // // ~~ ...
- Sharding-JDBC分库分表简单示例
1. 简介 Sharding是一个简单的分库分表中间件,它不需要依赖于其他的服务,即可快速应用在实际项目的分库分表策略中. 2. 初始化数据库(db0.db1.db2) 1 #创建数据库db0 2 C ...
- MySQL02-约束
1.DQL查询语句 1.1 排序查询 语法:order by 排序字段1 排序方式1 , 排序字段2 排序方式2... 排序方式: ASC:升序,默认的. DESC:降序. 注意: 如果有多个排序条 ...
- java.net.BindException:Problem binding to [hostname:8088]地址已在使用
异常提示端口号被占用 查找被占用的端口 netstat -tln netstat -tln | grep 8083 netstat -tln ## 查看端口使用情况,而netstat -tln | g ...
- (byte & 0xff)操作
先看一段代码: @Test public void test(){ byte a = -5; byte b = 12; System.out.println(a); System.out.printl ...
- C#面向对象(初级)
一.面向对象:创建一个对象,这个对象最终会帮你实现你的需求,尽管其中的过程非常曲折艰难.这也就是所谓的"你办事我放心". 例如: 面向对象:折纸 爸爸开心地用纸折成了一个纸鹤: 妈 ...