Java Lesson 12: Inheritence
From Erlands Wiki
The main class now looks as follows:
public class MyClass { public static void main(String[] args) { Argument argument1 = ArgumentHelper.getArgumentAsInt(0,args); Argument argument2 = ArgumentHelper.getArgumentAsString(1,args); printStuff((IntArgument)argument1); printStuff((StringArgument)argument2); } public static void printStuff(IntArgument data) { System.out.println("You specified int: "+data.getInt()); } public static void printStuff(StringArgument data) { System.out.println("You specified String: "+data.getString()); } }
And the helper class looks as follows:
public class ArgumentHelper { public static Argument getArgumentAsInt(int argumentNumber, String[] args) { int argument = Integer.valueOf(args[argumentNumber]); return new IntArgument(argument); } public static Argument getArgumentAsString(int argumentNumber, String[] args) { String argument = args[argumentNumber]; StringArgument strArgument = new StringArgument(); strArgument.setString(argument); return strArgument; } }
The IntArgument looks as follows:
public class IntArgument { private int intArgument; public IntArgument(int intArgument) { this.intArgument = intArgument; } public int getInt() { return intArgument; } }
And the StringArgument:
public class StringArgument { private String strArgument; public void setString(String arg) { this.strArgument = arg; } public String getString() { return strArgument; } }
The program is executed with:
java MyClass 5 Hello
Your work is to create the new Argument class and to do neccessary modifications to the IntArgument and StringArgument classes so it results in an output like:
You specified int: 5 You specified String: Hello
