Pertemuan 6 object oriented programming
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

Pertemuan 6 Object Oriented Programming PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on
  • Presentation posted in: General

Pertemuan 6 Object Oriented Programming. Matakuliah: T0053/Web Programming Tahun: 2006 Versi: 2. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mengimplementasikan konsep OOP dalam bahasa pemrograman Java Membuat program Java dengan konsep OOP.

Download Presentation

Pertemuan 6 Object Oriented Programming

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Pertemuan 6 object oriented programming

Pertemuan 6Object Oriented Programming

Matakuliah: T0053/Web Programming

Tahun: 2006

Versi: 2


Learning outcomes

Learning Outcomes

Pada akhir pertemuan ini, diharapkan mahasiswa

akan mampu :

  • Mengimplementasikan konsep OOP dalam bahasa pemrograman Java

  • Membuat program Java dengan konsep OOP


Outline materi

Outline Materi

  • Introduction

  • Encapsulation

  • Inheritance

  • Polymorphism

  • Interface

  • Package


Procedural versus oop

Procedural versus OOP

  • Procedural programming language

    • C is an example

    • Action-oriented

    • Functions are units of programming

  • Object-oriented programming language

    • Java is an example

    • Object-oriented

    • Classes are units of programming

      • Functions, or methods, are encapsulated in classes


Oop in java

OOP In Java

  • Every java program implement all OOP Concept:

    • Encapsulation: all java program must reside in class, no class, no program

    • Inheritance: all class have a superclass, if not mentioned, it’s automatically subclassing from Object class

    • Polymorphism: all method are polymorphic in default


Encapsulation

Encapsulation

  • “Packaging an object’s variables within protective custody of its methods”

  • Advantages:

    • Modularity

    • Information Hiding: object has a public interface for communicate to others, so it can maintain private information and method that can be changed any time without affecting the communication

  • Java Keyword: class


Oop concept object

OOP Concept: Object

  • Real world objects share 2 characteristics:

    • State

      • Dogs have state: name, color, breed, hungry

      • Bicycles have state: current gear, current pedal cadence, two wheels, number of gears)

    • Behavior

      • Dogs have behavior: barking, fetching, wagging tail)

      • Bycyles have behavior: braking, accelarating, slowing down, changing gears


Oop concept object cont

OOP Concept: Object (cont)

  • Software objects are modeled after real-world objects in that they too have state and behavior

  • Software object:

    • State  variables

    • Behavior methods, that is a function (subroutine)

    • Methods and variables is associated with an object, that is reside in object


Oop concept object cont1

OOP Concept: Object (cont)

A Software Object, that have state and behavior


Oop concept object cont2

OOP Concept: Object (cont)

  • Bicycle modeled as a software object:

    • 10 mph, 90 rpm, 5th known as instance variable because they contain the state for a particular object

    • changeGears, brake, changeCadence known as instance method, because they inspect or change the state of a particular bicycle instance (object)


Oop concept message

OOP Concept: Message

  • The bicycle is useful only when another object (you) interacts with it (pedal)

  • Trough the interaction between objects, we can achieve higher-order functionality and more complex behavior

  • Software object interact and communicate by sending message to another object


Oop concept message1

OOP Concept: Message

  • Sometimes the receiver object need more information to do, this information called parameters

  • You the sender object

  • YourBicycle the receiver object

  • ChangeGears  the message, the method to perform

  • lowerGearinformation from You to YourBicycle, the parameters needed by the method


Oop concept class

A class is a blueprint, or prototype, that defines the variables and the methods common to all objects of a certain kind

OOP Concept: Class

Class = method+attribute

The Bicycle class


Oop concept class1

OOP Concept: Class


Creating class

Creating class

//Filename: Point2D.java

public class Point2D{

int x, y; // member variable

public Point2D() { x=0; y = 0;}

public Point2D(int nx, int ny)

{

setPoint(nx, ny);

}

// setter method

public setPoint(int nx, int ny)

{

x = nx;

y = ny;

}

// continue class Point declaration

// getter method

int getX() { return x; }

int getY() { return y; }

public static void main(String[] args)

{

// create object p

Point2D p = new Point2D();

p.setPoint(1, 5);

System.out.println(“x: “, p.getX()):

System.out.println(“y: “,p.getY()):

}

} // end of class declaration


Some guidance for creating class

Some Guidance for Creating class

  • 1 file can contain >=1 class

  • 1 file only can contains 1 public class

  • Filename must be a public class name, beware of case sensitive, remember that Java is multiplatform

  • Tips: It would be better to have every file for every class you created


Class access level

Class Access Level


Methods

Methods

  • No Default argument

  • All parameter is passing by value

    • How can we passing by reference?

  • Support function name overloading, ie: same name different function signature (type of argument, number of argument, order of argument)


Inheritance

Reusability

Top down:

Being more specific

Bottom Up:

Find similarity

Java Keyword: extends

Inheritance


Inheritance example

Inheritance- Example

public class Point3D extends Point2D

{

int z;

public Point3D(int nx, int ny, int nz)

{

super(nx, ny); // called super class constructor

z = nz;

}

int getZ() { return z; }

void setZ(int nz) { z = nz; }

public static void main(String[] args)

{

Point3D p = new Point3d(10, 10, 3);

System.out.println(“(x, y, z): “+ p.getX() + “,” p.getY()

+ “,” + p.getZ());

}

}


Polymorphism

Polymorphism

  • Many shapes, 1 function behave differently according to object instance

  • “Late binding”, bind to instance not type

  • In default all Java methods are “polymorphic”

  • Use “final” keyword to make “early binding”, non polymorphic


Polymorphism example

Polymorphism-Example

//Filename: Point2D.java

public class Point2D{

int x, y; // member variable

public Point2D() { x=0; y = 0;}

public Point2D(int nx, int ny)

{

setPoint(nx, ny);

}

// setter method

public setPoint(int nx, int ny)

{

x = nx;

y = ny;

}

// continue class Point deklaration

// getter method

int getX() { return x; }

int getY() { return y; }

// overide method from class Object

public String toString()

{

return “x: “+x “, y: “+y;

}

} // end of class declaration


Pertemuan 6 object oriented programming

// Point3D.java

public class Point3D extends Point2D

{

int z;

public Point3D(int nx, int ny, int nz)

{

super(nx, ny); // called super class constructor

z = nz;

}

int getZ() { return z; }

void setZ(int nz) { z = nz; }

// overide method from class Point2D

public String toString()

{

return super.toString() + “, z: “+ z;

}


Pertemuan 6 object oriented programming

public static void main(String[] args)

{

Point2D p1 = new Point2d(10, 10);

Point2D p2 = new Point3d(10, 10, 3);

printObject(p1); // x: 10, y: 10

printObject(p2);// x: 10, y: 10, z: 3

}

static printObject(Object o)

{

System.out.println(“Object content: “+ o);

// that is called o.toString()

}

}


Interface

Interface

  • As container of abstract method

  • Similar to class, except that all method are abstract, just contain declaration.

  • As the way of solved some problem that need Multiple Inheritance feature

  • As call back function


Interface example

Interface - Example

// IUpdate.java

public interface IUpdate

{

public void UpdateProgress(int nPercent);

}

// Child.java, that called from Main class

public class Child {

IUpdate u;

public void addEventListerner(IUpdate iu)

{

u = iu;

}

public void run()

{

for (int i=1; i<=100; i++)

u.updateProgress(i);

}

}


Pertemuan 6 object oriented programming

// Main.java

public class Main implementsIUpdate {

Child child;

public Main() // contructor

{

child = new Child();

// connect to child object

child.addEventListener(this);

// run child proses, and updating progress

child.run();

}

// implement method declared in Iupdate interface

public void UpdateProgres(int nPercent)

{

System.out.println(“Progess: “ +nPercent);

}

public static void main(String[] args()

{ new Main();}

}


Packages

Packages

  • “A package is a collection of related classes and interfaces providing access protection and namespace management. ”

  • 1 package is 1 subfolder in file system

  • To organize file in project or library

  • Keyword: package name;


Packages example

Packages - Example

package com.binus.oop;

public class TestPackage

{

public static void main(String[] args)

{

System.out.println(“Contoh penggunaan package”);

}

}

  • Catatan:

    • Program diatas diberi nama TestPackage.java

    • Program OOP.java terletak pada directory x:\WebProg\OOP\com\binus\oop\TestPackage.java

    • Setting classpath  SET CLASSPATH = %CLASSPATH%\; x:\WebProg\OOP

    • Compile : X:\webProg\OOP\com\binus\oop>javac TestPackage.java

    • Running: x:\>java com.binus.oop.TestPackage


  • Login