Заловок, возможно, не совсем понянет, но вот пример:
( javascript, но интересует общая концепция. Ну или еще и ruby в частности )
class Geomap {
constructor( options={} ) {
this.options = options;
}
// methods
}
Для инициализации я хочу просто вызвать сам класс и все, например:
new Geomap( {} );
// т.е. без сохранения инстанса в переменную и без просто вызовов методов из вне, типа
// const geomap = new Geomap( {} );
// geomap.init( );
// или
// ( new Geomap( {} ) ).init( );
Способов, конечно, много:
// *** 1 ***
class Geomap {
constructor( options={} ) {
this.options = options;
// methods call
}
// methods
}
// *** 2 ***
class Geomap {
constructor( options={} ) {
this.options = options;
this.init( );
}
init() {
// methods call
}
// methods
}
// *** 3 ***
class Geomap {
constructor( options={} ) {
this.options = options;
}
static call( options={} ) {
new this( options ).init( );
}
init( ) {
}
// methods
}
и т.д. Но как правильнее?