Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

1 OBJECT-ORIENTED CONCEPTS. 2 What is an object?  An object is a software entity that mirrors the real world in some way.  A software object in OOP.
Chapter 1 OO using C++. Abstract Data Types Before we begin we should know how to accomplish the goal of the program We should know all the input and.
Classes & Objects Computer Science I Last updated 9/30/10.
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
1 CS1001 Lecture Overview Homework 3 Homework 3 Project/Paper Project/Paper Object Oriented Design Object Oriented Design.
Fall 2007ACS-1805 Ron McFadyen1 Programming Concepts Chapter 4 introduces more advanced OO programming techniques. Construction of a programs usually requires:
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Themes and Variations abstraction -- the object metaphor modeling -- understanding.
Software Lifecycle A series of steps through which a software product progresses Lifetimes vary from days to months to years Consists of –people –overall.
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
C++ fundamentals.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
State,identity and behavior of objects Sem III K.I.R.A.S.
Introduction To System Analysis and design
Programming Languages and Paradigms Object-Oriented Programming.
Learners Support Publications Pointers, Virtual Functions and Polymorphism.
Introduction to Object-oriented programming and software development Lecture 1.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
CSM-Java Programming-I Spring,2005 Objects and Classes Overview Lesson - 1.
An Object-Oriented Approach to Programming Logic and Design
CONCEPTS OF OBJECT ORIENTED PROGRAMMING. Topics To Be Discussed………………………. Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism.
Introduction to Object Oriented Programming. Object Oriented Programming Technique used to develop programs revolving around the real world entities In.
Object Oriented Programming with JAVA Arash N. Kia AlZahra University Definitions – Part 1.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
Object Oriented Programming Principles Lecturer: Kalamullah Ramli Electrical Engineering Dept. University of Indonesia Session-3.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
OOP Class Lawrence D’Antonio Lecture 3 An Overview of C++
1 COSC3306: Programming Paradigms Lecture 6: Object-Oriented Programming Specifications Haibin Zhu, Ph.D. Computer Science Nipissing University (C) 2003.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
OOP: Encapsulation,Abstraction & Polymorphism. What is Encapsulation Described as a protective barrier that prevents the code and data being randomly.
Chapter 12 Support for Object oriented Programming.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Learners Support Publications Object Oriented Programming.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
CS451 - Lecture 2 1 CS451 Lecture 2: Introduction to Object Orientation Yugi Lee STB #555 (816) * Acknowledgement:
9-Dec Dec-15  INTRODUCTION.  FEATURES OF OOP.  ORGANIZATION OF DATA & FUNCTION IN OOP.  OOP’S DESIGN.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
Object-Oriented Programming Chapter Chapter
CS-1030 Dr. Mark L. Hornick 1 Basic C++ State the difference between a function/class declaration and a function/class definition. Explain the purpose.
ISBN Object-Oriented Programming Chapter Chapter
Introduction to Object-Oriented Programming Lesson 2.
Object-Oriented Principals Dwight Deugo Nesa Matic
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Basic Concepts of OOP.  Object-Oriented Programming (OOP) is a type of programming added to php5 that makes building complex, modular and reusable web.
1 C# - Inheritance and Polymorphism. 2 1.Inheritance 2.Implementing Inheritance in C# 3.Constructor calls in Inheritance 4.Protected Access Modifier 5.The.
Author: DoanNX Time: 45’.  OOP concepts  OOP in Java.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
CSCI 171 Presentation 15 Introduction to Object–Oriented Programming (OOP) in C++
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
Object-Oriented Design
Object-Oriented Programming Concepts
JAVA By Waqas.
OOP What is problem? Solution? OOP
Review: Two Programming Paradigms
Inheritance Modern object-oriented (OO) programming languages provide 3 capabilities: encapsulation inheritance polymorphism which can improve the design,
Object-Orientated Programming
Types of Programming Languages
Object Oriented Analysis and Design
Object Oriented Programming
What Is Good Software(Program)?
Object-Oriented Programming
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
The Object Paradigm Classes – Templates for creating objects
Object Oriented Programming(OOP)
Presentation transcript:

Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)

OOP What is problem? Traditional structured programming is not sufficient for large software maintenance and reuse. Solution? OOP Improve reusability SW reliability is increased using reusable modules which are already well-tested and error- free.

OOP concepts Data Abstraction Abstract Data Type Object Information hiding/encapsulation Class Inheritance Polymorphism Dynamic binding

ADT(Abstract Data Type) A set of data variables and associated operations that are precisely specified independent of any particular implementation. ADT = data + operations (no implementation) In OOP, We don’t define data for defining procedures, But we do define procedures necessary for defining data ADT is a type that combines data and the procedures

class In C++, “class” is used for defining ADT Defines attributes and behaviors of an object Attributes : member variables Behaviors : member functions

Object Object is an instance of class Consists of Internal data Internal operations Interface operations Only class methods can access the internal data of an object. Message passing Request some work to other object through calling a method.

Object Overview

Information Hiding/Encapsulation Encapsulation conceals the functional details of a class from objects that send messages to it. Internal data of an object can be modified only through an interface

Class vs Object Each object generated by the same class is different objects When the objects are created, different memory space and address are assigned to each object with unique identifier. Objects created by the same class share the class’s methods. An object can be dynamically constructed or destructed in memory during run-time.

Inheritance A child class (Sub class) inherits attributes and behaviors of parent classes (super class). and can define their own attributes and behaviors. The properties (variables,methods) of a child class should be mostly similar to the properties of parent classes. Goal : Object (class) Reuse In large SW development, code reuse reduces costs. We can reuse well-defined classes. Related programs can define new classes using inheritance.

Polymorphism Allows the same method (message) to different meaning. the ability of objects belonging to different data types to respond to method calls of the same name, each one according to an appropriate type-specific behavior. In C++ Virtual function Operator overloading Function overloading Template

dynamic binding Binding Determination of association between object name (identifier) and its actual memory address and value. Static binding Binding occurs at compile-time Faster compared to dynamic binding Dynamic binding Binding occurs in run-time Relatively slow Sending a message to a pointer of an object. The pointer is determined in run-time and appropriate message is sent. In C++, virtual function

Benefits of Object Model Builds a system that evolves over time Entendible Stable Thinking in terms of objects and classes is much easier for humans Separating the client and implementor prevents accidental damage through data encapsulation Reusability