Lecture 6 - Inheritance

# Lecture 6 - Inheritance - Wednesday,January25th Inheritance...

This preview shows pages 1–7. Sign up to view the full content.

Wednesday, January 25th Inheritance  From Wikipedia: Inheritance is a way to form new classes (instances of which are called objects) using classes that  have already been defined.

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Inheritance Let’s say we’re writing a video game.  In the game, the player has to fight various  monsters  and save the world.  For each monster you could provide  a class definition. class Robot { public: void setX(int newX); int getX(); void setY(int newY); int getY(); private: int m_x, m_y; }; For example, consider the  Robot   class:
Inheritance Now lets consider a  Shielded Robot  class: class ShieldedRobot { public: void setX(int newX); int getX(); void setY(int newY); int getY(); int getShield (); void setShield(int s); private: int m_x, m_y, m_shield; }; Let’s  compare both classes… What are  their similarities? class Robot { public: void setX(int newX); int getX(); void setY(int newY); int getY(); private: int m_x, m_y; };  Both classes have  x  and  y     coordinates   In class  Robot ,   x  and  y  describe    the position of the robot  In class  ShieldedRobot  they also     describe the robot’s position   So  x  and  y  have the same     meaning in both classes:  They     describe the position of the     robot  Both classes also provide the     same set of methods to  get  and       set  the values of  x  and  y

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Inheritance class ShieldedRobot { public: void setX(int newX); int getX(); void setY(int newY); int getY(); int getShield(); void setShield(int s); private: int m_x, m_y, m_shield; }; class Robot { public: void setX(int newX); int getX(); void setY(int newY); int getY(); private: int m_x, m_y; };   In fact, the only difference    between a  Robot  and a  ShieldedRobot  is that a  ShieldedRobot  also has a  shield  to protect it. int m_x, m_y, m_shield ; It’s a pity that even though  ShieldedRobot   has just a  few extra features  we have to  define a  whole new class  for it! ShieldedRobot  essentially  is a   Robot !  A  ShieldedRobot shares all of the same functions  and data as a Robot; it just has some  additional  methods/data.
Inheritance Here’s another example: class Person { public: string getName(void); void setName(string & n); int getAge(void); void setAge(int age); private: string m_sName; int m_nAge; }; class Student { public: string getName(void); void setName(string & n); int getAge(void); void setAge(int age); int getStudentID(); void setStudentID(); float getGPA(); private: string m_sName; int m_nAge; int m_nStudentID; float m_fGPA; };

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Inheritance Student  essentially  is a   Person !  A Student shares all of
This is the end of the preview. Sign up to access the rest of the document.

## This note was uploaded on 04/02/2012 for the course COMPUTER S 32 taught by Professor Smallberg during the Winter '12 term at UCLA.

### Page1 / 36

Lecture 6 - Inheritance - Wednesday,January25th Inheritance...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online