Object oriented programming and interfaces
Dirk
dirk at mail.com
Tue Dec 5 07:47:32 UTC 2017
The distance function is implementation dependend and can only be
computed between two objects of the same class (in this example
the class is Item).
My goal is to write a module for a k-medoids clustering
algorithm. The class MedoidClassification shall be able to
partition a list of objects from the same class, which implement
the Medoid interface.
My current approach is this (which does not work):
interface Medoid {
float distance( Medoid other );
uint id() const @property;
}
class Item : Medoid {
float distance( Item m ) {...}
uint id() const @property {...}
}
class MedoidClassification {
this( Medoid[] list ) {...}
Medoid[][] getClusters() {...}
}
void main() {
Item[10] items;
auto mc = MedoidClassification( items );
}
What would be a good way to implement this?
More information about the Digitalmars-d-learn
mailing list