Object Oriented Theory I

Slides:



Advertisements
Similar presentations
Programming Languages and Paradigms
Advertisements

Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore 20 Object Oriented Theory II.
Chapter 10 Introduction to Objects and Classess 1.
1 CIS601: Object-Oriented Programming in C++ Note: CIS 601 notes were originally developed by H. Zhu for NJIT DL Program. The notes were subsequently revised.
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
1 Basic Object Oriented Concepts Overview l What is Object-Orientation about? l What is an Object? l What is a Class? l Constructing Objects from Classes.
Computers: Tools for an Information Age
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
C++ fundamentals.
Distribution of Marks Internal Sessional Evaluation Assignments – 10 Quizzes – 10 Class Participation Attendence – 5 Mid – Term Test – 25 External Evaluation.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Object Oriented Software Development
There are only 10 types of people in the world, those who understand binary and those who don't.
An Object-Oriented Approach to Programming Logic and Design
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
Programming Paradigms
School of Computer Science & Information Technology G6DICP - Lecture 22 The Theory of Object Oriented Programming.
1 Programming Language History and Evolution In Text: Chapter 2.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Functions.
1 First BlueJ Day, Houston, Texas, 1st March 2006 Writing BlueJ Extensions Ian Utting University of Kent.
Introduction to Method. Example Java Method ( 1 ) The 2 types (kinds) of methods in Java Class methods Instance methods Methods can do more work than.
Principles of Software Development 1 Principles Of Software Design and Development Types of language / Choosing a language.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Learners Support Publications Object Oriented Programming.
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
JavaScript Overview Developer Essentials How to Code Language Constructs The DOM concept- API, (use W3C model) Objects –properties Methods Events Applications;
Introduction to OOP CPS235: Introduction.
객체지향시스템 연구실 1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 객체지향시스템 연구실 교수 김형주.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 Internet Database Lab 교수 김형주 Spring 2007.
Programming Language History and Evolution
Object Oriented Systems Design
Programming paradigms
Visit for more Learning Resources
Object Oriented Programming
CSCI-235 Micro-Computer Applications
CS101 Introduction to Computing Lecture 19 Programming Languages
JavaScript: Functions
OBJECT ORIENTED PROGRAMMING overview
INTRODUCTION TO OOP Objective:
Programming Language History and Evolution
Programming COMP104: Fundamentals and Methodology Introduction.
Developing Applications
Assembler, Compiler, Interpreter
Control Structures (Structured Programming) for controlling the procedural aspects of programming CS1110 – Kaminski.
Data Science with Python
CIS601: Object-Oriented Programming in C++
Complex Experimental Designs
Introduction Object-Oriented Programming
Assembler, Compiler, Interpreter
Differences between Java and JavaScript
Introduction Object-Oriented Programming Reprise
Principles of Programming Languages
Overview of Programming Paradigms
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Tonga Institute of Higher Education IT 141: Information Systems
Programming Languages and Paradigms
Tonga Institute of Higher Education IT 141: Information Systems
What Is Good Software(Program)?
Control Structures (Structured Programming) for controlling the procedural aspects of programming CS1110 – Kaminski.
Object-Oriented PHP (1)
CS 2704 Object Oriented Software Design and Construction
Handout-2(a) Basic Object Oriented Concepts
Presentation transcript:

Object Oriented Theory I 19 Object Oriented Theory I

Previously File & Streams Read Write Parsing

Overview Programming Methodologies Unstructured Programming Procedural Programming Modular Programming Properties of Modular Programming Object Oriented Programming Object Oriented Languages Objects

Programming Methodologies Unstructured Programming Procedural Programming Modular Programming Object Oriented Programming

Unstructured Programming The main program consists of statements that directly operates on global data (i.e. data that is always available). Program Main Program Data

Procedural Programming Sequences of statements are combined into one place called a procedure. This can then be invoked as often as needed by the main program. Program Procedure Main Program Procedure

Modular Programming Program Procedures are grouped into modules or libraries. Program Main Program Module2 Procedure2 Procedure3 Module1 Procedure1

Properties of Modular Programming Programs consist of several (sometimes many) interacting parts. Libraries can be re-used. Each module can have its own data, and can manage its own internal state. Each module exists once in a program, and has a single state. Management of the state of a module can become complex.

Object Oriented Programming OO programs consist of a web of interacting objects - each with their own state. Each object is responsible for initialising and destroying itself correctly. This addresses the complexities of modular programming. Objects have other attributes that greatly add to the power of manipulating them.

Object Oriented Languages Pure OO languages Smalltalk Java Impure OO languages C++ PERL Pascal/Delphi Mixed paradigm languages Visual Basic JavaScript

Objects The world is full of objects. OO programming was originally developed for the creation of simulations. Because programs ultimately interact with the real world, many (the vast majority) of programming problems can be solved by mapping program code to “objects” that mirror real world objects.