OOOO以后,及其极限(2)3 维特跟斯坦(Wittgenstein)与OO  维特跟斯坦是本世纪乃至人类哲学史上最伟大哲学家之一。 他生前只于1922年出版了一本著作——《逻辑哲学论》(Tractatus Logico-Philosophicus)。 在该书中,他阐述了一种世界观,或者说一种认识世界观点,这种观点,在六七十年后今天,终于由一种哲学思想沉淀到技术层面上来,成为计算机业
转载 2007-12-17 11:18:00
90阅读
2评论
       BUAA OO Unit 2 总结博客HW2-1题目要求与分析本次作业基本目标是模拟单部多线程电梯运行。第一次作业只要是起到多线程入门作用,让我们初步了解多线程实现方法以及注意事项。数据结构为了让作业有更好扩展性(其实并没有),我将电梯与调度器分离开,调度器采用工厂模式,分为 Morning, Random 和 Night 三种策略去实现。用 Request 存储所有输入
转载 2021-05-13 20:17:04
132阅读
2评论
面向对象设计与构造 第二单元总结本单元三次作业内容为模拟电梯运行,主要涉及知识点为多线程。第一次作业为单部电梯,需要模拟电梯开关门、上下行、乘客进出等;第二次作业增加为3部电梯,并可以根据指令动态增加电梯;第三次作业在第二次作业基础上设置了不同电梯类型,不同电梯运行速度、可到达楼层不同,并且乘客在运送过程中允许换乘。总体来说,三次作业都侧重于多线程处理,并且每次作业都是在上一次
转载 2021-05-13 20:37:39
109阅读
2评论
BUAA_OO_UNIT2一、同步块和锁第一次作业: 第一次作业比较简单,锁作用对象只有一个schedule,它是仅有的两个线程输入线程和电梯线程共享对象,这次作业并未设置调度器。 输入线程只有向schedule中加人和为schedule设置结束位时候需要拿到锁,加人时拿锁是为了防止电梯线程取人过程和加人过程出现冲突,造成线程安全问题。而设置终止时候加锁,是为了防止电梯线程读取sc
转载 2021-05-13 20:33:29
103阅读
2评论
Unit2一、第一次作业1.UML2.Sequence Diagram3.同步块设置与锁处理采用了生产者-消费者模式,用共享对象来连接不同线程。第一次作业,我有三个线程:Receiver,Manager,Elevator,用PersonQueue WaitingQueue分别来连接Receiver和 Manager,Manager和Elevator整个程序加锁操作只针对有可能发生数据竞争
转载 2021-05-13 20:35:28
202阅读
2评论
OO第二单元多线程单元总结OO_Unit2总结本单元编程作业主要实现是电梯系统运行,其考察最大重点是多线程程序编写,着重注意线程安全等问题。难度与跨度上大于第一单元作业,复杂度取决于个人调度算法细致与否(个人感觉复杂度略低于第一单元)。本次作业层次性与架构感要高于第一单元,通俗地说就是比第一单元更像一个“面向对象”程序设计。因此,在编写代码时对功能封装等方面的思路也会更加清晰。1
转载 2021-05-13 20:36:33
100阅读
2评论
Unit2_OO_Blog1. 第一次作业1.1 同步块设置和锁选择本次架构设计主要借鉴了第三次课上实验代码设计。设置了读入请求线程、调度线程、电梯线程三个线程。本单元同步块设置主要针对整体等待队列以及电梯内乘客队列。在乘客分配时使调度线程持有等待队列、电梯乘客队列锁;在乘客进出电梯时使调度线程(本次设计调度线程可以控制乘客进入电梯)或电梯线程持有对电梯内乘客队列锁。1.2 调度器
转载 2021-04-23 22:02:00
110阅读
2评论
# 无穷与 Python:探索无限编码世界 在编程,无穷(Infinite)是一个引人入胜概念,特别是在 Python 这样高级编程语言中。无穷不仅在理论上有其重要性,在实际应用也可以发挥出色作用。本文将深入探讨无穷在 Python 表现形式,并通过代码示例加以说明。此外,我们还将使用 Mermaid 语法展示状态图和甘特图,以帮助分析相关概念及其应用。 ## 无穷表示
原创 7月前
25阅读
OO-Unit2-电梯调度-总结一、程序结构分析第五次作业代码可视化与数据统计程序类图由于本次只有一台电梯,因此没有使用调度器,而是只设计了一个策略类Scheduler类来实现每到一个楼层根据当前等待乘客和电梯乘客请求来确定目标楼层功能。而电梯类和输入线程类则是本次作业两个线程类,分别对应消费者和生产者。程序复杂度分析类复杂度ClassOCavgOCmaxWMCElevator4.571
转载 2021-04-24 20:43:00
184阅读
2评论
JavaOO(面向对象编程)是一种编程范式,以对象为基础,结合了数据和行为,能够支持封装、继承和多态。这种编程风格在Java语言中得到了广泛应用,使得程序结构更加清晰,便于维护和扩展。以下是围绕JavaOO展开详细技术分析与解决方案。 ### 环境配置 JavaOO开发环境配置需要确保安装Java Development Kit (JDK) 和相关IDE,比如Eclipse或Int
原创 6月前
33阅读
1 OOAD详解1.1 uml工具    staruml,小巧,用比较多,还有一款类似的软件,叫jude,用也比较多。1.2 面向对象面向对象是一种系统建模技术,Object-Orientation,简称OO。面向对象编程是一种使用OO方法学来开发程序过程,Object-Orientation Programming,简称OOP。通过分析系统内对象交互来描述或建模一个
转载 2023-07-18 12:09:26
82阅读
对象:一切客观存在事物都是对象。 OO:oriented object,面向对象,是一种思想,看待事物方式。OOA:面向对象分析,使用OO 思想分析需求。OOD:面向对象设计,使用OO思想以及OOA分析结果,设计类。OOP:面向对象编程,使用OOD设计结果,编写代码。类:一种数据类型,可以由其他数据类型组装而成。对象:是某一个对应数据,通常把使用一个类书写成数据过程,叫做
转载 2023-07-07 18:36:17
30阅读
本节内容:面向对象(OO)是思想类和对象属性和方法静态属性与@Property类方法静态方法抽象与抽象类接口继承组合多态封装一、面向对象(OO)是思想def person(name, age, sex): #初始化 def init(name, age, sex): person ={} person["name"] = name p
转载 2024-04-15 18:09:56
51阅读
OO-Blogs Unit2单元简介本单元通过迭代开发,最终实现了多种类多电梯(可换乘)调度管理。HW1要求单电梯,有载客量限制,调度无要求但性能不应低于ALS调度。思路和实现这次需求不算复杂,只需要一个输入线程和一个电梯线程即可实现。为了扩展性,我在输入线程和电梯线程中间插了一个调度器,为后面多电梯场景留出修改空间。然而由于这时我并没有感受到到调度器线程意义所在,故我将调度器和输入线程串
转载 2021-05-13 20:19:11
167阅读
2评论
OOOO以后,及其极限(1)1、什么是软件开发?  软件开发过程就是人们使用各种计算机语言将人们关心现实世界映射到计算机世界过程;  现在计算机数学理论基础是由计算机开山鼻祖,大名鼎鼎图灵于1937年提出图灵机模型。 随后不到十年,电子计算机就诞生了(1945)。(埃尼亚克)   我们都知道,它当时主要任务之一就是用于导弹弹道轨迹计算。当时软件开发(如果可以称之为软件开
转载 2007-12-17 11:18:00
226阅读
2评论
BUAA_OO_2021_Unit2_Summary(1)基于度量来分析自己程序结构第一次作业第一次作业为单部电梯,不需要调度器,故基于多线程考虑,构造接收请求Dispatch类和实现请求电梯elevator类,两者均继承Thread类且并行;另外出于线程安全考虑,构造了WaitingPassenger类封装请求,Dispatch和elevator接收同一个waitingPassenge
转载 2021-05-13 20:37:58
168阅读
2评论
对面向对象看法与世界模型想法
原创 2011-02-20 19:35:03
531阅读
1点赞
3评论
1.类,对象,包 (1)对象 对象因关注而产生,万物皆对象. a.结构化编程: 面向过程结构化编程是将整个工程分布式按照步骤从上到下依次执行。 b.面向对象编程: 面向对象就是在模拟生活各种场景. 面向对象:通过对象之间属性和行为相互关联来完成特定功能. 建立对象模型,将问题域化为不同对象去处理. |-->找对象 ---->创建一个类来描述对象行为和属性 c.面向对象
转载 2023-07-21 19:20:32
49阅读
一个优秀程序员,技术需要以OO为基础来开始。“OO”表示 “面向对象”。特性封装顾名思义,封装就好比一个小黑屋,内部被隐藏,只有几个接口与外界相连。具体来说,所谓封装,也就是把客观事物封装成抽象类,并且类可以把自己数据和方法只让可信类或者对象操作,对不可信进行信息隐藏。封装是面向对象特征之一,是对象和类概念主要特性。 简单说,一个类就是一个封装了数据以及操作这些数据代码逻辑实体
转载 2023-07-19 10:32:11
37阅读
OOOO以后,及其极限(3)4. OO之后是什么?一、 从软件工程发展历史来看  1969年NATO会议之后,“软件危机”成为人们关注焦点。为迎接软件危机挑战,人们进行了不懈努力。这些努力大致上是沿着两个方向同时进行。一是从管理角度,希望实现软件开发过程工程化。这方面最为著名成果就是提出了大家都很熟悉“瀑布式”生命周期模型。它是在60年代末“软件危机”后出现第一个生命周期
转载 2007-12-17 11:18:00
112阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5