Class Inheritance - PowerPoint PPT Presentation

1 / 7
About This Presentation
Title:

Class Inheritance

Description:

Creates a constructor for the derived class which calls the * base class constructor. ... Console.WriteLine('I'm a Derived class'); Output: MyBaseClass Constructor. ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 8
Provided by: name9
Category:

less

Transcript and Presenter's Notes

Title: Class Inheritance


1
Class Inheritance
  • Implement Base Classes.
  • Implement Derived Classes.
  • Call Base Class Methods .
  • Override Base Class Methods .
  • Initialize Base Classes from Derived Classes.

2
Inheritance (Textbook chapter 10)
  • A primary object-oriented programming concept
  • Main advantage code reuse
  • Higher-level Base classes group common properties
    and operations
  • Lower-level Derived classes define more specific
    details

3
Define Base and Derived classes
  • using Systempublic class MyBaseClass   
    public MyBaseClass()           
    Console.WriteLine(" MyBaseClass
    Constructor.")        public void
    print()            Console.WriteLine("I'm a
    Base Class.")    public class
    MyDerivedClass MyBaseClass     public
    MyDerivedClass () base()           
    Console.WriteLine(MyDerivedClass
    Constructor.")        public static void
    Main()            MyDerivedClass derived new
    MyDerivedClass ()        derived.print()   
  • Colon specifies inheritance (from a class or
    interface).
  • Derived class inherited all public members in the
    base class.
  • You can treat MyDerivedClass as MyBaseClass.
  • During instantiation, base class constructor is
    called before the constructor of the derived class

Output MyBaseClass Constructor.MyDDerivedClass
Constructor.I'm a Base Class.
4
Initialize Base Class in Derived Class
  • class BankAccount
  • private double balance
  • public BankAccount(double initialAmount)
  • balance initialAmount
  • //.(other BankAccount members)
  • / Creates a constructor for the derived class
    which calls the
  • base class constructor.
  • /
  • public class SimpleSavings2 BankAccount
  • public SimpleSavings2(double amount)
    base(amount)

indicates a call to a base class class
constructor. Keyword base represent the base
class.
5
Override Base class methods
  • using Systempublic class MyBaseClass   
    public MyBaseClass()           
    Console.WriteLine(" MyBaseClass
    Constructor.")        public virtual void
    print()            Console.WriteLine("I'm a
    Base Class.")    public class
    MyDerivedClass MyBaseClass     public
    MyDerivedClass ()           
    Console.WriteLine(MyDerivedClass
    Constructor.")        public static void
    Main()            MyDerivedClass derived new
    MyDerivedClass ()        derived.print()   
  • A derived class automatically inherits the public
    methods of its base class,
  • but it may choose to override some of them to
    implement its own specific operations.
  • (Project 8 10.9)

1
2
public override void print()
Console.WriteLine(Im a Derived class)
Output MyBaseClass Constructor.MyDDerivedClass
Constructor.I'm a Derived Class.
6
The Account Hierarchy
BankAccount balance GetBalance Deposit Withdraw
ReadAccount
Base class
Derived class
Derived class
  • CheckingAccount overrides Withdraw method
    inherited from BankAccount
  • In exercise 10.0, you need to add a ReadAccount
    method to BankAccount and override it in
    SavingsAccount and CheckingAccount.

7
Testing code for Project 8
  • Testing code
  • http//www.cs.uiowa.edu/zhihwang/ta016/TestAccoun
    ts.cs
  • For your reference
  • http//www.cs.uiowa.edu/zhihwang/ta016/BankAccoun
    t.cs
  • http//www.cs.uiowa.edu/zhihwang/ta016/SavingsAcc
    ount.cs
  • http//www.cs.uiowa.edu/zhihwang/ta016/CheckingAc
    count.cs
Write a Comment
User Comments (0)
About PowerShow.com