GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
abstract(n) TclOO Commands abstract(n)


oo::abstract - a class that does not allow direct instances of itself

package require tcl::oo
oo::abstract method ?arg ...?

oo::objectoo::classoo::abstract

Abstract classes are classes that can contain definitions, but which cannot be directly manufactured; they are intended to only ever be inherited from and instantiated indirectly. The characteristic methods of oo::class (create and new) are not exported by an instance of oo::abstract.

Note that oo::abstract is not itself an instance of oo::abstract.

The oo::abstract class does not define an explicit constructor; this means that it is effectively the same as the constructor of the oo::class class.

The oo::abstract class does not define an explicit destructor; destroying an instance of it is just like destroying an ordinary class (and will destroy all its subclasses).

The oo::abstract class defines no new exported methods.

The oo::abstract class explicitly states that create, createWithNamespace, and new are unexported.

This example defines a simple class hierarchy and creates a new instance of it. It then invokes a method of the object before destroying the hierarchy and showing that the destruction is transitive.

oo::abstract create fruit {
    method eat {} {
        puts "yummy!"
    }
}
oo::class create banana {
    superclass fruit
    method peel {} {
        puts "skin now off"
    }
}
set b [banana new]
$b peel              → prints 'skin now off'
$b eat               → prints 'yummy!'
set f [fruit new]    → error 'unknown method "new"...'

oo::define(n), oo::object(n)

abstract class, class, metaclass, object
0.3 TclOO

Search for    or go to Top of page |  Section n |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.