Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am ellehallal on github.
  • I am ellehallal (https://keybase.io/ellehallal) on keybase.
  • I have a public key ASCiYp6CI2fjmzIr7YqeHzpNl5CZ_lUh2BDIpB8m4NktoQo

To claim this, I am signing this object:

interface Caller {
fun dial()
fun makeCall(phoneNumber: Int)
fun ring() {
println("RING!")
}
fun answerCall()
fun hangUp()
}
@ellehallal
ellehallal / caller.kt
Last active September 30, 2019 16:06
interface Caller {
fun dial()
fun makeCall(phoneNumber: Int)
fun ring()
fun answerCall()
fun hangUp()
}
public interface MobilePhone extends Caller {
void openApp(String appName);
}
public class EnglishGreeter extends Greeter {
@Override
public void doHello() {
System.out.println("Hello!");
}
@Override
public void celebrate() {
System.out.println("WOO HOO!");
}
public abstract class Greeter {
public final void greeting() {
waveHello();
doHello();
celebrate();
waveGoodbye();
doGoodbye();
}
public void waveHello() {
public abstract class Greeter {
public final void greeting() {
waveHello();
doHello();
waveGoodbye();
doGoodbye();
}
public void waveHello() {
System.out.println("🙌");
public class FrenchGreeter extends Greeter {
@Override
public void doHello() {
System.out.println("Bonjour!");
}
@Override
public void doGoodbye() {
System.out.println("Au revoir!");
}
public class EnglishGreeter extends Greeter {
@Override
public void doHello() {
System.out.println("Hello!");
}
@Override
public void doGoodbye() {
System.out.println("Goodbye!");
}
public abstract class Greeter {
public final void greeting() {
doHello();
doGoodbye();
}
public abstract void doHello();
public abstract void doGoodbye();
}