I have a set of classes which share some functionality -- they build an object from a database row, and can use fetch, insert, update, delete methods to communicate with the database via respective queries, and they also have some distinct methods and fields. I reckon it would be best to set all of these as child classes of an abstract class.
However, I want as little code duplication as possible, and it would seem creating an abstract method for each of these would simply result in me writing the same methods out in each class, the table name and columns being the only difference between them. I've got three classes -- abstract class A, class B (child of A), and class C (child of A) -- and I want B::update() to do the exact same thing as C::update(), on a different database table. Likewise for insert(), delete(), etc. What's the most effective solution here?