You are on page 1of 21

Object-Oriented Techniques

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Objectives
Understand how derived classes inherit from base classes Explore how to add and modify members in derived classes Learn to control how derived classes inherit from base classes Understand how to create and use interfaces Explore techniques for organizing your classes

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Agenda
Inheritance Interfaces Organizing Classes

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Inheritance
Inefficient to have similar classes with the same members Create a more generic (base) class and then inherit (derive) from the generic class Derived classes inherit the members of the base class Inheritance defines an is-a relationship
A corporation is a customer An individual is a customer
Learn More @ http://www.learnnowonline.com
Copyright by Application Developers Training Company

Inheritance Hierarchy
Customer is the base class and is the most generic representation of a customer Corporation and Individual are derived classes, inheriting from the base class

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

The is-a Relationship


Be thorough when defining the is-a relationships among objects in your code If differences between two types of customers (like Corporation and Individual) are significant, it may warrant making separate classes such as Domestic and Foreign

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Adding Members to Derived Classes


Common properties and methods can go in the base class Unique properties and methods can be added to derived classes

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Overriding Derived Members


Override a property or method in a derived class to change its behavior You are replacing the base class member with the derived class member

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Overloading Derived Members


Overload a property or method of a base class to create a specialized version in a derived class The base class member still exists and can be used in addition to a derived class member

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Calling Base Class Members


Members of a derived class can call members of the base class

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Abstract Classes and Members


An abstract class is designed to be generic and is incomplete You cannot create an instance of it and can only derive from it Abstract class can contain abstract properties and members
Derived classes cannot call these properties from the abstract class They must implement them on their own

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Sealed Classes and Members


Seal a class to prevent inheriting from it Seal a member in a derived class to prevent further derived classes from overriding it

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Interfaces
Define a set of properties and methods that a class will implement Contain no implementation code A class must implement all members defined in an interface
Visual Studio adds member declarations automatically, you add code to implement members You can override and overload interface members

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Implementing an Interface
A class must implement all members defined in an interface
Visual Studio adds member declarations automatically, you add code to implement members You can override and overload interface members

Class can implement multiple interfaces but can only derive from one class Use interfaces to implement smaller sets of members and to enable classes to implement only interfaces they need
Learn More @ http://www.learnnowonline.com
Copyright by Application Developers Training Company

Interfaces in the .NET Framework


The .NET Framework contains many interfaces you can use IComparable provides a general way of comparing value types or classes
Call CompareTo as a method of one type Pass as argument the type you are comparing the first type with

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Organizing Classes
Classes are a good way to organize your code You can also organize your classes

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Partial Classes
Helpful on teams where you are writing some class methods and other developers are writing the rest Split the class definition across multiple files Compiler combines the partial classes into one class Calling class uses class the same whether it is made up of partial classes or not

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Nested Classes
Class defined within another class Organize class members so they are easier to use at runtime Group members of Customer class
Customer.Information
o

CustomerName, City, Region, etc


CreditLimit, ChangeCreditLimit

Customer.Financial
o

Customer.Sales
o

RecordSales
Learn More @ http://www.learnnowonline.com
Copyright by Application Developers Training Company

Namespaces
A way to organize related classes into groups
System.Data contains classes to work with data once you have retrieved it from a data source

Namespaces can be nested


System.Data.SqlClient contains classes to retrieve data from SQL Server System.Data.OracleClient contains classes to retrieve data from Oracle

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Namespaces
By default, the application namespace is the name of the project You can change this in Project Designer Create your own namespaces to organize classes in class libraries

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company

Learn More!
This is an excerpt from a larger course. Visit www.learnnowonline.com for the full details! Learn more on SlideShare
Object-Oriented JavaScript

Learn More @ http://www.learnnowonline.com


Copyright by Application Developers Training Company