From ... From: Erik Naggum Subject: Re: dynamic redefinition of classes Date: 1998/11/05 Message-ID: <3119265967679011@naggum.no>#1/1 X-Deja-AN: 408674926 References: <3640D31C.EA4F9CED@student.hk-r.se> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp.franz,comp.lang.lisp,comp.lang.clos * "Mattias Högström" | I am new to quite new to object-orientation in lisp um, it is less of a new thing than it might appear to be. it is easier to think of Common Lisp as object-oriented from the start than to think of the object-oriented features as somehow "different" or "additional". | Is dynamic redefinition of classes something like C++'s dynamic binding? no. you execute the code that defines a class at run-time in CL, and you can execute a different piece of code that defines a class that already exists, and this is handled well by the system, which remembers of which "version" of a class an instance is an instance. | My first object-oriented language was C++, so I am not used the term | "meta class". it might also help to stop regarding C++ as an object-oriented language and especially stop comparing anything to it. it take some effort to avoid it, but do not let your first experiences color your next experience. | In java all classes inherits from the class "Object", is that a meta | class? the meta-class in Java is Class. .class is an instance of Class, and you can call its newInstance method, for instance. the reflection protocol allows you to talk about the instances of Class. you can not create new meta-classes (or sub-classes of Class). | When do one need to write meta classes? when it is harder to what you need to do without it. knowing that you can will save you a lot of work, but you won't get there for a while. #:Erik -- The Microsoft Dating Program -- where do you want to crash tonight?