Posted to tcl by pooryorick at Thu Aug 30 20:26:45 GMT 2018view pretty

oo::class create A {
	constructor {} {
		set var1 hello
	}
	method m2 {} {
		return $var1
	}
}

oo::define A {
	variable var1
}

oo::class create C {
	variable var1
	method cm1 {} {
		return $var1
	}
}

oo::class create B {
	superclass A
	variable var1
	method m1 {} {
		my m2
	}
}

oo::define B {
	mixin C
}

B create b1

puts [b1 m1]
puts [b1 cm1]