天梯180409

本文探讨了设计模式中的结构型模式及其扩展性特点,并详细解释了装饰模式、合成模式、桥接模式等的设计理念。同时介绍了Java中Object类的方法及一些基础知识,包括字符串构建、面向对象原则等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 结构型模式中最体现扩展性的模式是()

A. 装饰模式

B. 合成模式

C. 桥接模式

D. 适配器

2. (不定项)JAVA中,下列哪些是Object类的方法()

A. synchronized()

B. wait()

C. notify()

D. notifyAll()

E. sleep()

3. 以下代码执行的结果显示是多少()?

public class Demo {

    public static void main(String[] args) {

        int count = 0;

        int mun = 0;

        for(int i=0;i<=100;i++) {

            num=num+i;

            count=count++;

        }

        System.out.println(num*count);

    }

}

A. 505000

B. 0

C. 运行时错误

D. 5050

4. java中,StringBuilderStringBuffer的区别,下面说法错误的是?

A. StringBuffer是线程安全的

B. StringBuilder是非线程安全的

C. StringBufferString 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象。

D. 效率比较String<StringBuffer<StringBuilder,但是在 String S1 = This is only a+ simple+ test”时,String效率最高。

 

5. 下面不是面向对象的基本原则的是?

A. 单一职责原则(Single-Resposibility Principle

B. 开放封闭原则(Open-Closed principle

C. 抽象类原则(Abstract-Class principle

D. 依赖倒置原则(Dependecy-Inversion Principle

E. 接口隔离原则(Interface-Segregation Principle

 

 

 

 

//-------------分割线--------------------------

A

BCD

B

C

C

 

答案详解:

1. 结构模型设计模式模式概括:

GoF设计模式中,结构型模式有:

1.适配器模式 Adapter

  适配器模式是将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

  两个成熟的类需要通信,但是接口不同,由于开闭原则,我们不能去修改这两个类的接口,所以就需要一个适配器来完成衔接过程。

2.桥接模式 Bridge

  桥接模式将抽象部分与它的实现部分分离,是它们都可以独立地变化。它很好的支持了开闭原则和组合锯和复用原则。实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这些多角度分离出来让他们独立变化,减少他们之间的耦合。

3.组合模式 Composite

  组合模式将对象组合成树形结构以表示部分-整体的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。

4.装饰模式 Decorator

装饰模式动态地给一个对象添加一些额外的职责,就增加功能来说,它比生成子类更灵活。也可以这样说,装饰模式把复杂类中的核心职责和装饰功能区分开了,这样既简化了复杂类,有去除了相关类中重复的装饰逻辑。 装饰模式没有通过继承原有类来扩展功能,但却达到了一样的目的,而且比继承更加灵活,所以可以说装饰模式是继承关系的一种替代方案。

5.外观模式 Facade

 外观模式为子系统中的一组接口提供了同意的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

外观模式中,客户对各个具体的子系统是不了解的,所以对这些子系统进行了封装,对外只提供了用户所明白的单一而简单的接口,用户直接使用这个接口就可以完成操作,而不用去理睬具体的过程,而且子系统的变化不会影响到用户,这样就做到了信息隐蔽。

6.享元模式 Flyweight

 享元模式为运用共享技术有效的支持大量细粒度的对象。因为它可以通过共享大幅度地减少单个实例的数目,避免了大量非常相似类的开销。.

      享元模式是一个类别的多个对象共享这个类别的一个对象,而不是各自再实例化各自的对象。这样就达到了节省内存的目的。

7.代理模式 Proxy   

为其他对象提供一种代理,并由代理对象控制对原对象的引用,以间接控制对原对象的访问。

 

2.  sleep Thread类中的方法

3. 这题很漂亮!

count = count++; 如果你写你会怎么写?是不是直接count++就好了?多此一举会造成什么后果呢?

count=count++的执行步骤:

tmp=count

count++

count=tmp

4. StringBuffer 线程安全,Builder不安全,不安全的在单线程效率肯定更高。

StringBufferStringBuffer每次结果都会对  StringBuffer  对象本身进行操作,而不是生成新的对象,再改变对象引用。

5. 面对对象的基本原则是:

s( Single-Resposibility Principle ): 单一职责原则

o( Open-Closed principle ): 开放封闭原则

l( Liskov-Substituion Principle ): 里氏替换原则

i( Interface-Segregation Principle ): 接口隔离原则

d( Dependecy-Inversion Principle ): 依赖倒置原则

一个单词:立方体(solid),很好记!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值