Introduction to OOP Chapter 21: Software Frameworks : next previous audio real text

A Sorting Framework

class InsertionSorter {
public:
	void sort () {
		int n = size();
		for (int i = 1; i < n; i++) {
			int j = i - 1;
			while (j >= 0 && lessThan(j+1, j)) {
				swap(j, j+1);
				j = j - 1;
			}
		}
	}

private:
	virtual int size() = 0; // abstract methods
	virtual boolean lessThan(int i, int j) = 0;
	virtual void swap(int i, int j) = 0;
}
The part that is common in made into a foundation method, the part that changes are made into deferred methods.
Intro OOP, Chapter 21, Slide 09