Last active
August 20, 2018 18:23
-
-
Save dheysonalves/4339c62f252e0112c907d517a6eb6218 to your computer and use it in GitHub Desktop.
singletonmod
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package singletone; | |
// **** o código aqui não utiliza do padrão de projeto, apenas uma forma de implementação sem ele. **** | |
// a ideia geral é ter uma intância de apenas uma classe e dar acesso global para ela. | |
public class Singleton { | |
private String name,color; | |
private double feet; | |
public Singleton(String name,double feet,String color) { | |
super(); | |
this.name = name; | |
this.feet = feet; | |
this.color = color; | |
} | |
public Singleton() {} | |
public void setName(String name) { | |
this.name = name; | |
} | |
// Public: ações | |
public void Miar() { System.out.println("Miando"); } | |
public void Comer() { System.out.println("Comendo"); } | |
public void Correr() { System.out.println("Correndo"); } | |
public void Dormir() { System.out.println("Dormindo"); } | |
@Override | |
public String toString() { | |
return "Class1 [name=" + name + ", feet="+ feet +"]"; | |
} | |
} | |
public class CatDo { | |
private static void catTest(String name, Singleton class1) { // apenas pode ser instânciada pela própria classe | |
String newname = "Leb"; | |
name = newname; | |
class1 = new Singleton(name,4.2,"white"); | |
//class1.setName(newname); | |
} | |
public static void main(String[] args) { | |
Singleton class1 = new Singleton("Bob",2.2,"yellow"); // instância principal | |
String name = "Gato"; | |
System.out.println("[Original]\n"); | |
System.out.println("Nome atual: "+name); | |
System.out.println(class1); | |
class1.Miar(); | |
class1.Dormir(); | |
System.out.println("\n[Alterado]"); | |
catTest(name,class1); // chama a classe que cria uma nova instância, mas referência apenas uma na memória | |
System.out.println("Novo nome: "+name); | |
System.out.println(class1); | |
class1.Comer(); | |
class1.Correr(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment