Inheritance

Tutorial

·

intermediate

·

+10XP

·

5 mins

·

(2018)

Unity Technologies

Inheritance

How to use inheritance to reuse code and build a strong relationship between related classes.

Languages available:

1. Inheritance

Fruit Class

using UnityEngine; using System.Collections;  //This is the base class which is //also known as the Parent class. public class Fruit {  public string color;   //This is the first constructor for the Fruit class  //and is not inherited by any derived classes.  public Fruit()  {  color = "orange";  Debug.Log("1st Fruit Constructor Called");  }   //This is the second constructor for the Fruit class  //and is not inherited by any derived classes.  public Fruit(string newColor)  {  color = newColor;  Debug.Log("2nd Fruit Constructor Called");  }   public void Chop()  {  Debug.Log("The " + color + " fruit has been chopped.");  }   public void SayHello()  {  Debug.Log("Hello, I am a fruit.");  } } 

Apple Class

using UnityEngine; using System.Collections;  //This is the derived class whis is //also know as the Child class. public class Apple : Fruit {  //This is the first constructor for the Apple class.  //It calls the parent constructor immediately, even  //before it runs.  public Apple()  {  //Notice how Apple has access to the public variable  //color, which is a part of the parent Fruit class.  color = "red";  Debug.Log("1st Apple Constructor Called");  }   //This is the second constructor for the Apple class.  //It specifies which parent constructor will be called  //using the "base" keyword.  public Apple(string newColor) : base(newColor)  {  //Notice how this constructor doesn't set the color  //since the base constructor sets the color that  //is passed as an argument.  Debug.Log("2nd Apple Constructor Called");  } } 

FruitSalad Class

using UnityEngine; using System.Collections;  public class FruitSalad : MonoBehaviour {  void Start ()  {  //Let's illustrate inheritance with the   //default constructors.  Debug.Log("Creating the fruit");  Fruit myFruit = new Fruit();  Debug.Log("Creating the apple");  Apple myApple = new Apple();   //Call the methods of the Fruit class.  myFruit.SayHello();  myFruit.Chop();   //Call the methods of the Apple class.  //Notice how class Apple has access to all  //of the public methods of class Fruit.  myApple.SayHello();  myApple.Chop();   //Now let's illustrate inheritance with the   //constructors that read in a string.  Debug.Log("Creating the fruit");  myFruit = new Fruit("yellow");  Debug.Log("Creating the apple");  myApple = new Apple("green");   //Call the methods of the Fruit class.  myFruit.SayHello();  myFruit.Chop();   //Call the methods of the Apple class.  //Notice how class Apple has access to all  //of the public methods of class Fruit.  myApple.SayHello();  myApple.Chop();  } } 

Complete this tutorial