Home Segments Index Top Previous Next

232: Mainline

You can introduce a Food class and define the Vegetable, Dairy, Meat, and Grain classes to be subclasses of the Food class.

Note that the fCalories, cCalories, and pCalories instance variables appear in the Food class definition alone, but the effect is equivalent to placing those variables in all the subclass definitions as well. The four subclasses are said to inherit instance variables from the Food class:

Food class definition 
Object subclass: #Food 
  instanceVariableNames: 'fCalories cCalories pCalories' 
  classVariableNames: '' 
  poolDictionaries: '' 
Vegetable class definition 
Food subclass: #Vegetable 
  instanceVariableNames: '' 
  classVariableNames: '' 
  poolDictionaries: '' 
Dairy class definition 
Food subclass: #Dairy 
  instanceVariableNames: '' 
  classVariableNames: '' 
  poolDictionaries: '' 
Meat class definition 
Food subclass: #Meat 
  instanceVariableNames: '' 
  classVariableNames: '' 
  poolDictionaries: '' 
Grain class definition 
Food subclass: #Grain 
  instanceVariableNames: '' 
  classVariableNames: '' 
  poolDictionaries: ''