lecture6

# lecture6 - 1 Monday,January24 th Inheritance FromWikipedia:

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

1 Monday, January 24 th   Inheritance  From Wikipedia: Inheritance is a way to form new classes (instances of which are called objects) using  classes that have already been defined.  Interested in creating your own start-up? Come to our CSAlumni Start-up Career Panel  and hear from 4 UCLA alums that founded their own startups!

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

View Full Document
2 Inheritance Let’s say we’re writing a video game.  In the game, the player has to fight various  monsters  and save the world.  class Robot { public: void setX(int newX); int getX(); void setY(int newY); int getY(); private: int m_x, m_y; }; class:
3 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
4 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.
5 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
6 Inheritance Student  essentially  is a   Person !  A Student shares  all of the same functions and data as a Person; it just  has some  additional  methods/data.
This is the end of the preview. Sign up to access the rest of the document.

## This note was uploaded on 05/11/2011 for the course CS 33 taught by Professor Rohr during the Spring '08 term at UCLA.

### Page1 / 35

lecture6 - 1 Monday,January24 th Inheritance FromWikipedia:

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

View Full Document
Ask a homework question - tutors are online