|home| |
Object-Oriented Programming ConceptHas-a Relationship |
Last lesson, we learnt that OOP has two relationships. In this lesson, we will focus on has-a relationship, which is also called object composition.
Let's make a Pizza. Pizza is Mary's favorite food. Pizza can be designed as an object. Every Pizza has ingredients. Pizza has a topping. Pizza has sauce like tomato sauce. Do you pay attention to the boldfaced has? If Pizza is an object, topping is a member field of object Pizza. The relationship between Pizza and topping is "has-a" relationship. So does the sauce. "has-a" relationship in a object is called member field of an object.
Let's describe it in Java code.
public class Pizza { private int topping;//has-a relationship-->member field private String sauce; public int getTopping(){ return topping; } public void setTopping(int howMany) { this.topping = howMany; } public String getSauce() { return sauce; } public void setSauce(String somesSauce) { this.sauce = someSauce; } } |
Assume that you understand Java basic code and be able to recognize that Pizza is an object and created in the standard Java coding convention.
Note that we don't create a constructor for the Pizza class, the compiler will create one called default constructor for you. The default constructor is a constructor without parameter list. We use getter/setter methods to make these states or fields accessible.