package org.example.bridge;
public abstract class Implementor {
public abstract void implMethodX();
public abstract void implMethodY();
}
package org.example.bridge;
public class concreteImplementorA extends Implementor{
@Override
public void implMethodX() {
}
@Override
public void implMethodY() {
}
}
package org.example.bridge;
public class concreteImplementorB extends Implementor{
@Override
public void implMethodX() {
}
@Override
public void implMethodY() {
}
}
package org.example.bridge;
public class Abstraction {
Implementor implementor;
public Abstraction(Implementor implementor)
{
this.implementor = implementor;
}
public void method1()
{
}
public void method2()
{
}
}
package org.example.bridge;
public class RefileAbstraction extends Abstraction{
public RefileAbstraction(Implementor implementor) {
super(implementor);
}
@Override
public void method1()
{
}
@Override
public void method2()
{
}
public void refineMethodA()
{
}
public void refineMethodB()
{
}
}
package org.example.bridge;
public class Main {
public static void main(String[] args)
{
RefileAbstraction refileAbstraction1 = new RefileAbstraction(new concreteImplementorA());
refileAbstraction1.method1();
refileAbstraction1.method2();
refileAbstraction1.refineMethodA();
refileAbstraction1.refineMethodB();
RefileAbstraction refileAbstraction2 = new RefileAbstraction(new concreteImplementorB());
refileAbstraction2.method1();
refileAbstraction2.method2();
refileAbstraction2.refineMethodA();
refileAbstraction2.refineMethodB();
}
}
package org.example.adapter;
public class Adaptee {
public void methodA()
{
}
public void methodB()
{
}
}
package org.example.adapter;
public interface Target {
public void targetMethod1();
public void targetMethod2();
}
package org.example.adapter;
public class Adapter extends Adaptee implements Target{
public void targetMethod1() {
methodA();
}
public void targetMethod2() {
methodB();
}
}
package org.example.adapter;
public class Main {
public static void main(String[] args)
{
Adaptee adaptee = new Adaptee();
adaptee.methodA();
adaptee.methodB();
Adapter adapter = new Adapter();
adapter.targetMethod1();
adapter.targetMethod2();
}
}
そして、委譲を使用したパターン。
package org.example.adapter;
public class Adapter implements Target{
Adaptee adaptee;
public Adapter()
{
adaptee = new Adaptee();
}
public void targetMethod1() {
adaptee.methodA();
}
public void targetMethod2() {
adaptee.methodB();
}
}
space 16777215
pulse 9059
space 4508
pulse 632
space 501
pulse 635
space 506
pulse 681
space 455
pulse 682
space 456
pulse 630
space 505
pulse 632
space 505
pulse 584
space 1684
pulse 681
space 455
pulse 584
space 1684
pulse 584
space 1684
pulse 584
space 1684
pulse 585
space 1684
pulse 585
space 1685
pulse 640
space 1581
pulse 689
space 1627
pulse 611
space 524
pulse 611
space 1658
pulse 615
space 523
pulse 615
space 1655
pulse 614
space 522
pulse 615
space 1655
pulse 613
space 1654
pulse 614
space 524
pulse 613
space 527
pulse 609
space 525
pulse 611
space 1658
pulse 588
space 549
pulse 608
space 1660
pulse 589
space 548
pulse 589
space 548
pulse 589
space 1679
pulse 592
space 1677
pulse 590
space 1675
pulse 594
pulse 13407
space 63383
space 40258
pulse 9119
space 2190
pulse 643
pulse 21195
space 121207
space 97010
pulse 9169
space 2141
pulse 688
pulse 22186
このデータの中から、一番最初の
space 16777215
と、後半の
pulse 13407 space 63383 space 40258 pulse 9119 space 2190 pulse 643 pulse 21195 space 121207 space 97010 pulse 9169 space 2141 pulse 688 pulse 22186
#ifndef PROJ_ANDROID_CHARACTER_H
#define PROJ_ANDROID_CHARACTER_H
#include "cocos2d.h"
class Character {
public:
int Hp;
int MaxHp;
int Mp;
int MaxMp;
int Power;
int Speed;
int Magic;
public:
Character();
~Character();
};
#endif //PROJ_ANDROID_CHARACTER_H
package org.example.singleton;
public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return singleton;
}
public void method1() {
}
}
package org.example.singleton;
public class Main {
public static void main(String[] args) {
Singleton obj = Singleton.getInstance();
obj.method1();
}
}