package lectures.inheritance.virtual_abstract_factory_methods;
import util.annotations.WebDocuments;

import lectures.arrays.collections_kinds.extra.PointHistory;
import lectures.extra.ACartesianPointHistoryWithDynamicallyDispatchedMethod;
import lectures.graphics.ACartesianPoint;
import lectures.graphics.Point;

@WebDocuments({"Lectures/InheritanceVirtualAbstractFactoryMethods.pptx", "Lectures/InheritanceVirtualAbstractFactoryMethods.pdf", "Videos/InheritanceVirtualAbstractFactoryMethods.avi"})
public class APolarPointHistoryWithDynamicallyDispatchedMethod extends ACartesianPointHistoryWithDynamicallyDispatchedMethod {
    protected Point createPoint(int x, int y) {
        return new ACartesianPoint(x, y);
    }
    
    public static void main (String[] args) {
        PointHistory pointHistory = new APolarPointHistoryWithDynamicallyDispatchedMethod();
        pointHistory.addElement(50, 100);
    }
}