OOP in Java

33 %
67 %
Information about OOP in Java

Published on January 24, 2008

Author: wiradikusuma

Source: slideshare.net

OOP in Java Introduction to the world of software engineering, object-oriented programming and Java Thomas Wiradikusuma [email_address] www.wiradikusuma.com Presentation to the 18 th Java User Group Meet Up (JaMU), January 14, 2006

Agenda Quick tour on software engineering Object-oriented concept Introduction to Java OO approach in Java

Quick tour on software engineering

Object-oriented concept

Introduction to Java

OO approach in Java

Objective To attract newcomers into the field of programming and software development, practically using Java as their language of choice.

To attract newcomers into the field of programming and software development, practically using Java as their language of choice.

Programming Defined Algorithm and Program Programming language A short tour into Software Development Lifecycle (SDLC), from Waterfall to Iterative Development

Algorithm and Program

Programming language

A short tour into Software Development Lifecycle (SDLC), from Waterfall to Iterative Development

Joys and Woes of Programming The joys The woes

The joys

The woes

Program Evolution Program Programming System Programming Product Programming Systems Product

Program

Programming System

Programming Product

Programming Systems Product

Common Pitfalls Schedule slippage Project objectives slippage Unrealistic budget Lack of documentation Hard to extend

Schedule slippage

Project objectives slippage

Unrealistic budget

Lack of documentation

Hard to extend

Essence of Modern Systems Complexity Conformity Changeability Invisibility

Complexity

Conformity

Changeability

Invisibility

Hope for Silver Bullets High-level language advancements Object-oriented programming Graphical programming (diagramming) Incremental and iterative development Rapid prototyping Great designers …

High-level language advancements

Object-oriented programming

Graphical programming (diagramming)

Incremental and iterative development

Rapid prototyping

Great designers



Object-oriented Programming Essence: Abstraction Principals: Encapsulation Inheritance Polymorphism

Essence: Abstraction

Principals:

Encapsulation

Inheritance

Polymorphism

Abstraction Humans manage complexity through abstraction For example, people do not think a car as a set of tens of thousands of individual parts. They think of it as a well-defined object with its own unique behavior A powerful way to manage abstraction is through the use of hierarchical classifications (layers)

Humans manage complexity through abstraction

For example, people do not think a car as a set of tens of thousands of individual parts. They think of it as a well-defined object with its own unique behavior

A powerful way to manage abstraction is through the use of hierarchical classifications (layers)

Encapsulation The mechanism that binds together code and the data it manipulates Protective wrapper that prevents the code and data from being misused outside the wrapper Controlled through a well-defined interface Allows migration of implementation without breaking contract with users of that class In Java, the basis of encapsulation is the class

The mechanism that binds together code and the data it manipulates

Protective wrapper that prevents the code and data from being misused outside the wrapper

Controlled through a well-defined interface

Allows migration of implementation without breaking contract with users of that class

In Java, the basis of encapsulation is the class

Inheritance The process by which one object acquires the properties of another object Supports the concept of hierarchical classification Using inheritance, object needs only define qualities that make it unique. General attributes are inherited from its parent The concept of super class and sub class

The process by which one object acquires the properties of another object

Supports the concept of hierarchical classification

Using inheritance, object needs only define qualities that make it unique. General attributes are inherited from its parent

The concept of super class and sub class

Polymorphism Feature that allows one interface to be used for a general class of actions. The specific action is determined by the exact nature of the situation One interface, multiple methods Allows creation of clean, sensible, readable and resilient code

Feature that allows one interface to be used for a general class of actions. The specific action is determined by the exact nature of the situation

One interface, multiple methods

Allows creation of clean, sensible, readable and resilient code

Benefits of OO Approach Objects are more “real-world” Objects provide the flexibility and control necessary to deal with evolving requirements Object use facilitates collaboration Objects help manage complexity Reusability, maintainability and extensibility

Objects are more “real-world”

Objects provide the flexibility and control necessary to deal with evolving requirements

Object use facilitates collaboration

Objects help manage complexity

Reusability, maintainability and extensibility

Introducing Java A little history Buzzwords: simple, object-oriented, robust, multithreaded, architecture-neutral, interpreted and high performance, distributed, dynamic Java platforms: JavaME, JavaSE, JavaEE

A little history

Buzzwords: simple, object-oriented, robust, multithreaded, architecture-neutral, interpreted and high performance, distributed, dynamic

Java platforms: JavaME, JavaSE, JavaEE

Applied OOP in Java Class as the unit of work Everything but primitive types are objects Encapsulation, inheritance and polymorphism in action Interface Design patterns

Class as the unit of work

Everything but primitive types are objects

Encapsulation, inheritance and polymorphism in action

Interface

Design patterns

Being a Programmer Read literatures Exercise Take course in computer science Get involved in actual projects (start from something simple and advancing!) Get involved in discussions/forums (such as Java User Groups) …

Read literatures

Exercise

Take course in computer science

Get involved in actual projects (start from something simple and advancing!)

Get involved in discussions/forums (such as Java User Groups)



Add a comment

Related pages

Objektorientierte Programmierung – Wikipedia

Die objektorientierte Programmierung (kurz OOP) ... Objektorientiertes Programmieren in Java (openbook) Aufgaben der OOP; Skriptum zu OOP, TU Wien (pdf ...
Read more

Lesson: Object-Oriented Programming Concepts (The Java ...

This beginner Java tutorial describes fundamentals of programming in the Java programming language
Read more

oop-konferenz.de - OOP 2017

Java auf der OOP. Die OOP bietet auch im Themenbereich Java viele Highlights. Welche Themen insbesondere beleuchtet werden, erfahren Sie in dem Artikel aus ...
Read more

Objektorientierte Programmierung, Kapitel 2: OOP am Beispiel

Stefan Brass: OOP (Java), 2. OOP am Beispiel 1/100. Klassen und Attribute Datentypen Konstruktoren, Zugriffsschutz, Methoden Inhalt 1 Klassen und Attribute
Read more

Objektorientierte Programmierung am Beispiel von Java

Objektorientierte Programmierung am Beispiel von Java Wesentliche Teile zur OOP mit Java sind aus dem folgenden Dokument entnommen: Objektorientierte ...
Read more

Java OOPs Concepts - Javatpoint

Java OOPs Concepts, OOPs, (Object-Oriented Programming), procedure-oriented vs object-oriented, java oops concept with examples, oops features, object ...
Read more

Objektorientierte Programmierung mit Java - Informatik

Objektorientierte Programmierung mit Java UmsetzunginJavaII Jetzt können wir Spieler von Person ableiten: Das war alles. public class Spieler extends Person
Read more

What Is an Object? (The Java™ Tutorials > Learning the ...

This beginner Java tutorial describes fundamentals of programming in the Java programming language
Read more

Objektorientierung in Java - Programmieren lernen

Objektorientierung: Ein kurzer Überblick. Das wichtigste Konzept in Java ist die Objektorientierung, diese ist dort allgegenwärtig. Objektorientierung ...
Read more

Java Tutorial interaktiv - Programmieren lernen mit Java

Java Tutorial interaktiv — Programmieren lernen mit Java Bradley Kjell, Central Connecticut State University Übersetzt von Heinrich Gailer (Rechtliche ...
Read more