package praxis.inheritance.is_a;
import util.annotations.WebDocuments;
import java.util.Arrays;
import praxis.composite.objects_shapes.f15.APraxisCartesianPlane;
import praxis.inheritance.APraxisStringDatabase;
import praxis.inheritance.APraxisStringHistory;
import praxis.inheritance.APraxisStringSet;
import praxis.inheritance.PraxisStringDatabase;
import praxis.inheritance.PraxisStringHistory;
import lectures.arrays.collections_implementation.AStringHistory;
import lectures.arrays.collections_implementation.StringHistory;
import lectures.graphics.Point;
import lectures.interfaces.BMISpreadsheet;
@WebDocuments({"Lectures/InheritanceIsA.pptx", "Lectures/InheritanceIsA.pdf", "Videos/InheritanceIsA.avi"})
public class PraxisTypeCheckingExamples {
public static void print (PraxisStringHistory aCollection) {
System.out.println("Printing:" + aCollection);
for (int i = 0; i < aCollection.size(); i++) {
System.out.println (aCollection.get(i));
}
}
public static void print (PraxisStringDatabase aCollection) {
System.out.println("Printing:" + aCollection);
for (int i = 0; i < aCollection.size(); i++) {
System.out.println (aCollection.get(i));
}
}
public static void addElements(PraxisStringHistory aCollection) {
aCollection.add("Joe Doe");
aCollection.add("Joe Doe");
}
public static void removeElements(PraxisStringDatabase aCollection) {
aCollection.removeElement("Joe Doe");
}
public static void main(String[] args) {
PraxisStringHistory aHistory = new APraxisStringHistory();
PraxisStringDatabase aSet = new APraxisStringSet();
PraxisStringHistory aSetMaqueradingAsAHistory = new APraxisStringSet();
addElements(aHistory);
addElements(aSet);
addElements(aSetMaqueradingAsAHistory);
print (aHistory);
print(aSet);
print(aSetMaqueradingAsAHistory);
aHistory = aSet;
removeElements((PraxisStringDatabase) aHistory);
double d = 2.5;
System.out.println ("d:" + d + " d with casting: " + (int) d);
removeElements(aSet);
}
}