I have a SuperClass with several Subclasses.
The SuperClass will never be instantiated. It just contains code common to all
subclasses.
Here an example:
I really want “onlyKnownBySubclass” to be a constant (i.e. let instead of var).
But cannot figure out how to do this.
class SuperClass
{
let knownBySuperclass: Int
var onlyKnownBySubclass: Int // this is a constant, only set in
SubClass.init
init(some: Int)
{
knownBySuperclass = some * 2
onlyKnownBySubclass = 0 // this value will never be used
}
final func someFunction() -> Void
{
print("Should never be zero: \(onlyKnownBySubclass)")
}
}
final class SubClass: SuperClass
{
override init(some: Int)
{
super.init(some: some)
// depends on knownBySuperclass:
onlyKnownBySubclass = knownBySuperclass + 5 //
constant - will never change after this
}
}
let a = SubClass(some:11)
a.someFunction() // prints: “Should never be zero: 27”
Gerriet.
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]