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
Customer.Financial o
CreditLimit, ChangeCreditLimit
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