OBJECT ORIENTED PROGRAMMING

31
OBJECT ORIENTED PROGRAMMING 2 nd Meeting Arief Setyanto

description

OBJECT ORIENTED PROGRAMMING. 2 nd Meeting Arief Setyanto. TOPIC COVERED. CLASS CONCEPT TURUNAN PEWARISAN KELAS ABSTRAK POLIMORPHISM INTERFACE PACKAGES. MEMBUAT CLASS sampel 1. Sampel 2 kelas biasa. public class TigaDimensi { private int pusat; protected int posx, posy,posz; - PowerPoint PPT Presentation

Transcript of OBJECT ORIENTED PROGRAMMING

Page 1: OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING

2nd MeetingArief Setyanto

Page 2: OBJECT ORIENTED PROGRAMMING

TOPIC COVERED

CLASS CONCEPT TURUNAN PEWARISAN KELAS ABSTRAK POLIMORPHISM INTERFACE PACKAGES

Page 3: OBJECT ORIENTED PROGRAMMING

MEMBUAT CLASS sampel 1

Page 4: OBJECT ORIENTED PROGRAMMING

Sampel 2 kelas biasapublic class TigaDimensi {private int pusat;protected int posx, posy,posz;protected static double phi = 3.14; public TigaDimensi(int x, int y, int z) { this.pusat = 0; this.posx=x; this.posy=y; this.posz=z; } public TigaDimensi( ) { //overloading fungsi konstruktor this.pusat = 0; this.posx=0; this.posy=10; this.posz=10; } public void lihatposisi(){ System.out.print("x : ");System.out.println(posx); System.out.print("y : ");System.out.println(posy); System.out.print("z : ");System.out.println(posz); } public void geser(int jx,int jy,int jz){ this.posx = posx+jx; this.posy = posy+jy; this.posz = posz+jz; } public void geser(int jx){ //overloading fungsi geser this.posx = posx+jx; } public double volume(){ return 10.1; } }

Page 5: OBJECT ORIENTED PROGRAMMING

Kelas abstrak

public abstract class TigaDimensi_A {private int pusat;protected int posx, posy,posz;protected static double phi = 3.14; public TigaDimensi(int x, int y, int z) { this.pusat = 0; this.posx=x; this.posy=y; this.posz=z; } public void lihatposisi(){ System.out.print("x : ");System.out.println(posx); System.out.print("y : ");System.out.println(posy); System.out.print("z : ");System.out.println(posz); } public void geser(int jx,int jy,int jz){ this.posx = posx+jx; this.posy = posy+jy; this.posz = posz+jz; } public abstract luas(); public double volume(){ return 10.1; } }

Page 6: OBJECT ORIENTED PROGRAMMING

Sekurang kurangnya punya 1 fungsi abstract

Page 7: OBJECT ORIENTED PROGRAMMING

Deklarasi kelas final

public final class TigaDimensi _F{private int pusat;protected int posx, posy,posz;protected static double phi = 3.14; public TigaDimensi(int x, int y, int z) { this.pusat = 0; this.posx=x; this.posy=y; this.posz=z; } public void lihatposisi(){ System.out.print("x : ");System.out.println(posx); System.out.print("y : ");System.out.println(posy); System.out.print("z : ");System.out.println(posz); } public void geser(int jx,int jy,int jz){ this.posx = posx+jx; this.posy = posy+jy; this.posz = posz+jz; } public double volume(){ return 10.1; } }

Page 8: OBJECT ORIENTED PROGRAMMING

Penjelasan tentang opsi class

Page 9: OBJECT ORIENTED PROGRAMMING

Kelas abstract, final vs biasa

Sebut saja kelas yang bukan abstrak atau final sebagai kelas biasa

Kelas abstrak adalah kelas yang tidak pernah bisa di wujudkan menjadi objek/instan – kelas ini wajib di turunkan.

Kelas final adalah kelas yang tidak boleh di turunkan

Kelas biasa adalah kelas yang bisa di deklarasikan menjadi obyek sekaligus boleh diturunkan

Page 10: OBJECT ORIENTED PROGRAMMING

Kapan kelas di bikin abstract

Pada saat ditemukan sebuah konsep yang tidak bisa ditemukan anggotanya sebagai sebuah obyek nyata.

Misal manusia, pada kenyataannya kita tidak mungkin menemukan sebuah obyek adalah manusia – keculai obyek tersebut adalah angota dari kelas pria atau kelas wanita.

Dalam kasus ini manusia adalah abstrak, pria dan wanita adalah kelas nyata yang merupakan turunan (himpunan bagian) dari manusia.

Page 11: OBJECT ORIENTED PROGRAMMING

Kapan kelas di buat final

Jika di temukan sebuah konsep tentang himpunan benda(obyek) yang tidak mungkin di dapatkan himpunan bagian darinya (sub class/turunan) .

Misalnya terdapat himpunan wanita, tidak ada satupun anggotanya yang punya atribut atau fungsi tambahan lagi maka wanita adalah kelas final

Prakteknya teknik ini digunakan untuk menghindarkan programmer menurunkan sebuah kelas yang tidak ingin/diperbolehkan mereka menurunkannya lagi

Page 12: OBJECT ORIENTED PROGRAMMING

Brief Detail

public By default, a class can be used only by other classes in the same package. The public modifier declares that

the class can be used by any class regardless of its package. Look in Creating and Using Packages for information about how to use modifiers to limit access to your classes and how it affects your access to other classes.

abstract Declares that the class cannot be instantiated. For a discussion about when abstract classes are appropriate

and how to write them, see Writing Abstract Classes and Methods . final

Declares that the class cannot be subclassed. Writing Final Classes and Methods shows you how to use final and discusses the reasons for using it.

class NameOfClass The class keyword indicates to the compiler that this is a class declaration and that the name of the class is

NameOfClass. extends Super

The extends clause identifies Super as the superclass of the class, thereby inserting the class within the class hierarchy.

How Do These Concepts Translate into Code? in the Object-Oriented Programming Concepts lesson, showed you a subclass of Applet and talked briefly about the responsibilities and benefits of subclasses. Managing Inheritance goes into further detail on this subject.

implements Interfaces To declare that your class implements one or more interfaces, use the keyword implements followed by a

comma-separated list of the names of the interfaces implemented by the class. How Do These Concepts Translate into Code? explained how the ClickMe applet implements an interface. Details about writing your own interfaces and how to use them can be found in Creating Interfaces .

Page 13: OBJECT ORIENTED PROGRAMMING

The Class Body

The class body contains all of the code that provides for the life cycle of the objects created from it: constructors for initializing new objects, declarations

for the variables that provide the state of the class its objects, methods to implement the behavior of the

class and its objects in rare cases, a finalize method to provide for

cleaning up an object after it has done its job. Variables and methods collectively are called

members.

Page 14: OBJECT ORIENTED PROGRAMMING

Deklarasi Method Sampel 1

Page 15: OBJECT ORIENTED PROGRAMMING

Deklarasi Method Sampel 2

public double volume(){ double v; v= (phi * jari2* jari2 * jari2 )/3 ;

return v; }

Page 16: OBJECT ORIENTED PROGRAMMING

iIustrasi turunan

Page 17: OBJECT ORIENTED PROGRAMMING

PEWARISAN

What Members Does a Subclass Inherit? Rule:  A subclass inherits all of the members in its superclass that are

accessible to that subclass unless the subclass explicitly hides a member variable or overrides a method. Note that constructors are not members and are not inherited by subclasses. The following list itemizes the members that are inherited by a subclass:

Subclasses inherit those superclass members declared as public or protected.

Subclasses inherit those superclass members declared with no access specifier as long as the subclass is in the same package as the superclass.

Subclasses don't inherit a superclass's member if the subclass declares a member with the same name. In the case of member variables, the member variable in the subclass hides the one in the superclass. In the case of methods, the method in the subclass overrides the one in the superclass.

Creating a subclass can be as simple as including the extends clause in your class declaration. However, you usually have to make other provisions in your code when subclassing a class, such as overriding methods or providing implementations for abstract methods.

Page 18: OBJECT ORIENTED PROGRAMMING

CLASS TURUNAN

class Super { Number aNumber; }

class Subbie extends Super { Float aNumber; }

Page 19: OBJECT ORIENTED PROGRAMMING

Kelas Turunan

public class Bola extends TigaDimensi{ public int jari2; public Bola(int x,int y,int z, int r){ super(x,y,z); posx=6; jari2=r; } public double volume(){ double v; v= (phi * jari2* jari2 * jari2 )/3 ; return v; }}

Page 20: OBJECT ORIENTED PROGRAMMING

Interface

In English, an interface is a device or a system that unrelated entities use to interact. According to this definition, a remote control is an interface between you and a television set, the English language is an interface between two people, and the protocol of behavior enforced in the military is the interface between people of different ranks. Within the Java programming language, an interface is a device that unrelated objects use to interact with each other. An interface is probably most analogous to a protocol (an agreed on behavior). In fact, other object-oriented languages have the functionality of interfaces, but they call their interfaces protocols.

The bicycle class and its class hierarchy defines what a bicycle can and cannot do in terms of its "bicycleness." But bicycles interact with the world on other terms. For example, a bicycle in a store could be managed by an inventory program. An inventory program doesn't care what class of items it manages as long as each item provides certain information, such as price and tracking number. Instead of forcing class relationships on otherwise unrelated items, the inventory program sets up a protocol of communication. This protocol comes in the form of a set of constant and method definitions contained within an interface. The inventory interface would define, but not implement, methods that set and get the retail price, assign a tracking number, and so on.

To work in the inventory program, the bicycle class must agree to this protocol by implementing the interface. When a class implements an interface, the class agrees to implement all the methods defined in the interface. Thus, the bicycle class would provide the implementations for the methods that set and get retail price, assign a tracking number, and so on.

You use an interface to define a protocol of behavior that can be implemented by any class anywhere in the class hierarchy. Interfaces are useful for the following:

Capturing similarities among unrelated classes without artificially forcing a class relationship. Declaring methods that one or more classes are expected to implement. Revealing an object's programming interface without revealing its class.

Page 21: OBJECT ORIENTED PROGRAMMING

Interface

interface A Java(TM) programming language

keyword used to define a collection of method definitions and constant values. It can later be implemented by classes that define this interface with the "implements" keyword.

Page 22: OBJECT ORIENTED PROGRAMMING

WHAT’S INTERFACE

An interface is a named collection of method definitions (without implementations). An interface can also declare constants.

Page 23: OBJECT ORIENTED PROGRAMMING

Perbedaan Interface dengan kelas abstract An interface cannot implement any

methods, whereas an abstract class can.

A class can implement many interfaces but can have only one superclass.

An interface is not part of the class hierarchy. Unrelated classes can implement the same interface.

Page 24: OBJECT ORIENTED PROGRAMMING

Deklarasi

Page 25: OBJECT ORIENTED PROGRAMMING

Example

lets look at blueJ

Page 26: OBJECT ORIENTED PROGRAMMING

implements

lets look to example

Page 27: OBJECT ORIENTED PROGRAMMING

Packages

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

Page 28: OBJECT ORIENTED PROGRAMMING

Kenapa Bikin Packages

You and other programmers can easily determine that these classes and interfaces are related.

You and other programmers know where to find classes and interfaces that provide graphics-related functions.

The names of your classes wont conflict with class names in other packages, because the package creates a new namespace.

You can allow classes within the package to have unrestricted access to one another yet still restrict access for classes outside the package.

Page 29: OBJECT ORIENTED PROGRAMMING

Deklarasi

package graphics; public class Circle extends Graphic

implements Draggable { . . . }

The Circle class is a public member of the graphics package.

Page 30: OBJECT ORIENTED PROGRAMMING

menggunakan packages

Referring to a Package Member by Namegraphics.Rectangle

To create an instance of graphics.Rectangle: graphics.Rectangle myRect = new graphics.Rectangle();

Importing a Package Member• import graphics.Circle;

Refer to the Circle class by its simple name: • Circle myCircle = new Circle();

Importing an Entire Package import graphics.*; Circle myCircle = new Circle();

Page 31: OBJECT ORIENTED PROGRAMMING

overloading