Object Orientation An Object oriented approach views systems and programs as a collection of...
-
Upload
jacob-jenkins -
Category
Documents
-
view
214 -
download
0
Transcript of Object Orientation An Object oriented approach views systems and programs as a collection of...
Object OrientationAn Object oriented approach views systems
and programs as a collection of interacting objects.
An object is a thing in a computer system that is capable of responding to messages
The Idea of OOPThe idea of OOP is to try to approach
programming in a more natural way by grouping all the code that belongs to a particular object—such as a checking account or a customer—together
ObjectsCore to the idea of OOPs is the concept of an
object.An object is anything that is relevant to your
programA customer, an employee, Inventory, a
database, a button, a form, a sale are all potential objects
Benefits of ObjectsMore natural way to look at thingsRe-usability
Objects/ClassesA class is a description of an
object. This description can include
attributes which describe the classIt can also include “methods”
which describe things the object can do.
In programming an object is an actual instance of a class
MessagesObject communicate among themselves by
means of messagesThe also maintain “associative relationships”
among themselves
A Class Diagram
Class name
Field names
methods
- Means private
+Means Public
Login Class in C#class Login { //constructor public Login(string usr, string pass) { Username = usr; Password = pass; Authenticate(); } //private field variables private string username;
//public property public string Username { get { return username; } set { username = value; } }
private string password;
//write only property public string Password { set { password = value; } }
private int Authenticate() { //connect to database etc . . . int valid = 0; if (Username && Password) { valid = 1; } return valid; } }
Principles of OOPAbstractionEncapsulation InheritancePolymorphism
AbstractionThe idea of abstraction is that a class
represents an “abstract” version of an objectA customer class presents the abstract idea
of what a customer isA sale class represents an abstract idea of
what a sale is
EncapsulationEncapsulation refers to the idea that a class
should contain all the properties and methods of an object
It also means you should be able to use the object without knowing the details of how it is structured internally
InheritanceInheritance means you can derive a new
object from an existing oneIt also means that the new object will have
access to (will inherit) the properties and methods from the parent object
InheritanceEmployee
Salary Hourly Contract
Generalization/ Specialization
PolymorphismPolymorphism means that objects descended
from a particular types will behave appropriately
For example (a listbox and a button are both descended from the same class called control—but they each will behave differently)