150 likes | 295 Views
Object Oriented Concepts. Object Orientation. An 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 OOP.
E N D
Object Orientation • An 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 OOP • The 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
Objects • Core to the idea of OOPs is the concept of an object. • An object is anything that is relevant to your program • A customer, an employee, Inventory, a database, a button, a form, a sale are all potential objects
Benefits of Objects • More natural way to look at things • Re-usability
Objects/Classes • A class is a description of an object. • This description can include attributes which describe the class • It can also include “methods” which describe things the object can do. • In programming an object is an actual instance of a class
Messages • Object communicate among themselves by means of messages • The 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 OOP • Abstraction • Encapsulation • Inheritance • Polymorphism
Abstraction • The idea of abstraction is that a class represents an “abstract” version of an object • A customer class presents the abstract idea of what a customer is • A sale class represents an abstract idea of what a sale is
Encapsulation • Encapsulation 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
Inheritance • Inheritance means you can derive a new object from an existing one • It also means that the new object will have access to (will inherit) the properties and methods from the parent object
Inheritance Generalization/ Specialization
Polymorphism • Polymorphism 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)