72 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | /* | ||
|  | This source file defines the following class-based hierarchy: | ||
|  | 
 | ||
|  | 	root | ||
|  | 		subclass1 | ||
|  | 			instance1 | ||
|  | 		subclass2 | ||
|  | 			instance2 | ||
|  | 		subclass3 | ||
|  | 			instance3 | ||
|  | 
 | ||
|  | The root object imports the category "predicates", which defines one  | ||
|  | public predicate, public/0, one protected predicate, protected/0, and  | ||
|  | one private predicate, private/0. | ||
|  | 
 | ||
|  | All objects import the category "interface", which defines a predicate,  | ||
|  | interface/0, for listing the object interface. | ||
|  | */ | ||
|  | 
 | ||
|  | 
 | ||
|  | :- object(root, | ||
|  | 	imports(predicates, interface), | ||
|  | 	instantiates(root)). | ||
|  | 
 | ||
|  | 
 | ||
|  | :- end_object. | ||
|  | 
 | ||
|  | 
 | ||
|  | % public inheritance: | ||
|  | % root predicates will be inherited without scope changes | ||
|  | :- object(subclass1, | ||
|  | 	imports(interface), | ||
|  | 	specializes(public::root)). | ||
|  | 
 | ||
|  | :- end_object. | ||
|  | 
 | ||
|  | 
 | ||
|  | :- object(instance1, | ||
|  | 	instantiates(subclass1)). | ||
|  | 
 | ||
|  | :- end_object. | ||
|  | 
 | ||
|  | 
 | ||
|  | % protected inheritance: | ||
|  | % root public predicates will be inherited as protected predicates | ||
|  | :- object(subclass2, | ||
|  | 	imports(interface), | ||
|  | 	specializes(protected::root)). | ||
|  | 
 | ||
|  | :- end_object. | ||
|  | 
 | ||
|  | 
 | ||
|  | :- object(instance2, | ||
|  | 	instantiates(subclass2)). | ||
|  | 
 | ||
|  | :- end_object. | ||
|  | 
 | ||
|  | 
 | ||
|  | % private inheritance: | ||
|  | % root predicates will be inherited as private predicates | ||
|  | :- object(subclass3, | ||
|  | 	imports(interface), | ||
|  | 	specializes(private::root)). | ||
|  | 
 | ||
|  | :- end_object. | ||
|  | 
 | ||
|  | 
 | ||
|  | :- object(instance3, | ||
|  | 	instantiates(subclass3)). | ||
|  | 
 | ||
|  | :- end_object. |