电视机

面向对象程序设计的思想的优点

我们两清 提交于 2019-12-01 10:56:26
以电视机为例:以面向对象观点的观点来看的话,电视机是一个类的实例,他由显示屏,遥控器,电源等小的小的对象组成,这些小对象是他的属性;而开关电视机,选台等可以理解为电视机的动作。 这种分析的好处是有利于实现更大型系统,而且维护会更简单些。 那么,如果我们使用面对过程的编程思想的话,就会变成,打开电视,调台,关上电视。 每一次对系统更新的时候,我们必须要进行大量的修改 来源: CSDN 作者: 爱吃的小花猫_Vigor 链接: https://blog.csdn.net/u013152895/article/details/44316235

设计模式-工厂方法模式

自古美人都是妖i 提交于 2019-12-01 10:34:58
工厂方法模式:又称工厂模式,也叫虚拟构造器模式或者多态工厂模式,属于类创建型模式。 在这个模式中,有4个角色 1.抽象工厂 在抽象工厂类中,声明了工厂方法,用于返回一个产品。是整个模式的 核心 ,它与应用程序无关。任何在模式中创建对象的工厂类都必须实现该接口。 2.具体工厂 是抽象工厂类的子类,实现了父类中的工厂方法。由客户调用,返回具体产品。 3.抽象产品 抽象产品是定义产品的接口,是所有产品的共同父类或者接口。 4.具体产品 实现抽象产品接口,由 专门 的具体工厂创建。 一个具体产品只能由某一个具体工厂创建,一一对应。 优点:用户只需要关心所需产品的工厂,无需知道其他细节,添加时不需要改动原来的代码,只需要增加具体工厂和具体产品类。也体现了缺点:每多一个具体产品,需要多写一个具体产品类和一个具体工厂类。 举例: 有抽象产品类 电视机,具体产品 海尔电视机和海信电视机。 有抽象工厂类 生产电视机制造厂,具体工厂 海尔制造厂和海信制造厂。 package factory; public abstract class TV{ public abstract void play(); }//TV作为抽象产品类,可以是接口或者抽象类。包含了所有产品都具有的业务方法play() TV.java package factory; public interface TVFactory{

设计模式

﹥>﹥吖頭↗ 提交于 2019-11-28 18:09:19
知识点三: 抽象工厂模式 一、概述 抽象工厂模式(Abstract Factory Pattern) 是基于 工厂方法模式 的一个延伸,是所有形态的工厂模式中最为抽象和最具一般性的一种形态。它属于23种GOF设计模式的 创建型设计模式 。 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据 里氏替换原则 ,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。简单的说就是: 围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 定义: 提供一个创建一系列相关或互相依赖对象的接口,而无需指定它们具体的类。 在学习抽象工厂模式之前,最好先熟悉一下 简单工厂模式 以及 工厂方法模式 ,这样对理解抽象工厂模式会有一定帮助,而且抽象工厂也是基于工厂方法模式的。 二、优缺点及使用场景 优点: 当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。 缺点:

Micro LED 技术详谈

冷暖自知 提交于 2019-11-28 15:47:19
一、显示技术的发展概况 1. 显示技术。   顾名思义,是一种将反映客观外界事物的信息(光学的、电学的、声学的、化学等),经过变换处理,以适当形式(主要有图像、图形、数码、字符)加以显示、供人观看、分析、利用的一种技术。自从第一台黑白电视机诞生以来,显示技术得到了长足的发展,各种显示技术层出不穷,种类十分丰富。目前国内外的显示方式有CRT(Cathode Ray Tube)显示、LCD (Liquid Crystal Display)显示、DLP(DigitalLight Process),LED (Light Emitting Diode)显示、PDP(Plasma DisplayPanel)显示等。 (1) CRT显示   原理:即阴极射线管显示,将电子束以扫描方式照射到显示面上,激发荧光屏上的荧光粉发光实现显示,电子束扫描是通过电磁场的控制而使电子束发生偏转而实现的。这种显示方式属于直观、台式、发光型显示。   结构: 图1 CRT显示   特点:CRT是历史最悠久的显示方式,其全色化、对比度高、亮度高,   缺点:色彩不逼真、行间闪烁等缺陷,另外一个重要的缺点就是不能把画面尺寸做的很大,限制了它在大屏幕显示方面的应用。 ( 2)LCD   原理:即液晶显示,它是自90年代起,由日商主导的投影技术,利用液晶材料的光电效应制成的新型显示器件,本身不发光

地面互动投影系统是什么

坚强是说给别人听的谎言 提交于 2019-11-28 14:29:11
地面互动投影是参与者和地面上影像的真实互动,使多名参与者融入场景中,同时参与。当你踏入投影机投射在地面上的影像时,你可以直接使用双脚在地面投影幕上的虚拟场景进行互动,然而互动效果就会随着你的脚步产生相应的变化。 地面互动设备 1、投影仪 投影仪是地面互动投影的重要组成部件黑火石科技为了保证使用效果都会选用进口松下或明基工程投影仪再结合现场来挑选具体型号。一般互动投影选用的投影仪在4000流明以上效果会更好。 2、主机 控制播放内容,程序运行,通常黑火石科技http://www.heihuoshi.com/ 会选用I5处理器、GTX1060显卡的高配主机,保持良好的投影效果和可拓展性。 3、动作捕捉系统 用来捕捉体验者脚步动作,并将信号传输到主机上。可根据现场需求选用红外感应或者雷达。 4、投影机吊架及线材 投影机吊架主要用途是将投影机掉在天花板上 以上为地面互动投影基本配置。 选用配置 1、融合软件 根据您的需求,如果需要更大画面必须增加多台投影仪利用融合软件并成一个画面。 2、投影幕 根据地面反光较强,需要在地面铺上地胶或特制的地毯。 地面互动投影是采用先进的计算机视觉技术和投影显示技术来营造一种奇幻动感的交互体验,作为新时代最具有创造力的多媒体展示技术,该系统所采用的交互技术具有很高的新奇性和观赏性,能够很好的起到活跃现场气氛,提高现场人气度。 来源: 51CTO 作者:

Codeforce 1061 :D. TV Shows(multiset + 贪心 + 构造)

雨燕双飞 提交于 2019-11-27 16:41:23
题目大意:有 n 个电视节目,每个节目有一个播放时间[ai,bi],你可以租用电视机来播放节目,租用一台电视机要先付 x x x (类似定金什么的),如果你在[a,b]时间段租用,你需要付租用的费用: y ∗ ( b − a ) y * (b - a) y ∗ ( b − a ) 。当电视机播放一个节目时,电视机不能中途跳转到播放其它节目,一个节目被电视机播放时,也不能播到一半然后转到其它电视机去播放。问如何使租用电视机使得你可以播放所有的节目,且花费的费用最少。 题解:跟着样例分析一下,如果租用一台电视连续播放好几个节目,例如两个,那么你将多付两个节目之间的间隔时间的钱(后一个节目的开始时间扣去前一个节目的结束时间),如果你另外租一台电视机来播放另外一个节目,你不用多付节目之间间隔时间的租用费,但你需要付另外一台电视机的定金,思考一下会发现:当两个节目之间的间隔小于等于 ⌊ x y ⌋ \lfloor \frac{x}{y}\rfloor ⌊ y x ​ ⌋ ,租一台电视机连着播放是比较赚的,否则另外租一台比较赚,如果两个节目时间段相交,那么只能另外再租一台了。 可以贪心构造租用方案,将节目按左端点排序(这个排序只是为了让决策有序),判断当前节目可以被那个已经租用的电视机播放:设当前节目的左端点为 l [ i ] l[i] l [ i ] ,租用的第

设计模式——桥接模式

余生长醉 提交于 2019-11-26 20:22:35
这次来看下桥接模式,将抽象部分与实现部分分离,使它们都可以独立的变化。 对于类之间相互引用,但是变化又十分频繁,可以抽象出来放在抽象类里面进行聚合。 来看下类图: 类图也很简单,没有什么复杂的地方,直接看下代码吧: public abstract class RemoteControl { protected TV tv; public RemoteControl(TV tv) { this.tv = tv; } public void on() { tv.on(); } public void off() { tv.off(); } abstract void setChannel(); }    public class ConcreteRemote extends RemoteControl { public ConcreteRemote(TV tv) { super(tv); } @Override void setChannel() { tv.tuneChannel(); } }    public interface TV { void on(); void off(); void tuneChannel(); }    public class Sony implements TV { @Override public void on() { System.out