Object Oriented Programming with Java
-
Upload
backdoor -
Category
Technology
-
view
35 -
download
3
description
Transcript of Object Oriented Programming with Java
![Page 1: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/1.jpg)
IADCS Diploma CourseObject Oriented Programming
U Nyein OoCOO/Director(IT)Myanma Computer Co., Ltd(MCC)
![Page 2: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/2.jpg)
Copyright: MCC Advanced Java Programming 2
OOP?
Software Development TechniqueEffective use of programmer productivityWay of Creating Large Scale SystemsApproaching 100% solution
![Page 3: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/3.jpg)
Copyright: MCC Advanced Java Programming 3
Basic Concepts
ObjectClass InheritancePolymorphismEncapsulationData Abstraction
![Page 4: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/4.jpg)
Copyright: MCC Advanced Java Programming 4
Object
A Person, Place or ConceptsComposed of Characteristics (data)
and Behavior (Operation)Can operate directly on its data Interact sending message to each other
![Page 5: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/5.jpg)
Copyright: MCC Advanced Java Programming 5
Class
Structure that contains common data and function as entity for objects
Each object is an instance of a class
![Page 6: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/6.jpg)
Copyright: MCC Advanced Java Programming 6
Inheritance
The mechanism that permits a class to share the attributes and operations defined in one or more classes
![Page 7: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/7.jpg)
Copyright: MCC Advanced Java Programming 7
Inheritance(cont)
Subclass– The class which inherits from another class
Super class– The class from which another class inherits its
behavior
Multiple Inheritance– A subclass inherits from two or more classes
![Page 8: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/8.jpg)
Copyright: MCC Advanced Java Programming 8
Polymorphism
The property that allows an operation to have different behavior on different objects
![Page 9: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/9.jpg)
Copyright: MCC Advanced Java Programming 9
Encapsulation
The process of binding data and methods together is known as encapsulation
![Page 10: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/10.jpg)
Copyright: MCC Advanced Java Programming 10
Data Abstraction
The process of identifying and grouping attributes and actions related to a particular entity as relevant to the application a hand.
Advantages- It focus on the problem
- It identifies the essential characteristics and action
- It helps the eliminate unnecessary details.
![Page 11: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/11.jpg)
Copyright: MCC Advanced Java Programming 11
Access Specifiers
Public PrivateProtected
![Page 12: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/12.jpg)
Copyright: MCC Advanced Java Programming 12
Method Modifiers
StaticAbstractFinalNativeVolatile
![Page 13: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/13.jpg)
Copyright: MCC Advanced Java Programming 13
Use of Modifiers
Modifier Method Variable Class
Public Yes Yes Yes
Private Yes Yes Yes(nested)
Protected Yes Yes Yes(nested)
Abstract Yes No Yes
Final Yes Yes Yes
Native Yes No No
Volatile No Yes No
![Page 14: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/14.jpg)
Copyright: MCC Advanced Java Programming 14
Construction
The process of bringing an object into existence is called construction
A construction
- Allocates memory
- Initializes attributes, if any
- Enables access to attributes and methods
![Page 15: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/15.jpg)
Copyright: MCC Advanced Java Programming 15
Constructor (cont)
Explicit constructor
User defined constructor in class definition
Implicit constructor
Default constructor which is provided by JVM
![Page 16: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/16.jpg)
Copyright: MCC Advanced Java Programming 16
Destruction
The process of deleting an objects is called destruction
A destructor - Frees allocated space - Disable access to attributes and
methods
![Page 17: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/17.jpg)
Copyright: MCC Advanced Java Programming 17
Method Overloading
In the same class and same methods name
But in different parameters and data typesForm of compile time polymorphism
![Page 18: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/18.jpg)
Copyright: MCC Advanced Java Programming 18
Method Overridden
In the super class as well as subclassAllows general classes to specify
methods that will common to its subclass
Form of runtime polymorphism
![Page 19: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/19.jpg)
Copyright: MCC Advanced Java Programming 19
Abstract class and method
There is no code in abstract class and method
Must be declared as abstract typeCan not instantiatedAt least one abstract method in class
![Page 20: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/20.jpg)
Copyright: MCC Advanced Java Programming 20
Writing Abstract class and Method
abstract class GraphicObject { int x, y;
. . . void moveTo(int newX, int newY) { . . . } abstract void draw();
}
![Page 21: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/21.jpg)
Copyright: MCC Advanced Java Programming 21
Interface
A special kind of a class which consists of only the constants and the method prototypes
Practically is Java substitute of multiple inheritance
A class can implement multiple interfaces
![Page 22: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/22.jpg)
Copyright: MCC Advanced Java Programming 22
Interface Vs Abstract Class
Feature Interface Abstract Class
Multiple Inheritance A class May implement several interfaces.
A class may extend only one abstract class
Default implementation An interface can’t provide any code at all
An abstract class can provide complete code, default code
Constants Static final constants only
Both instance and static constant are possible
Third party convenience An interface implementation may be added to any existing third party classes
A third party class must be rewritten to extend only from the abstract class.
![Page 23: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/23.jpg)
Copyright: MCC Advanced Java Programming 23
Package
The group of classes and interfacesCan be used other java standard
packagesNeed to specified class paths for it
![Page 24: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/24.jpg)
Copyright: MCC Advanced Java Programming 24
Public Private Protected No modifier
Same class Yes Yes Yes Yes
Same package subclass
Yes No Yes Yes
Same package non-subclass
Yes No Yes Yes
Different package subclass
Yes No Yes Yes
Different package non-subclass
Yes No Yes yes
Package and Access Control
![Page 25: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/25.jpg)
Copyright: MCC Advanced Java Programming 25
Example Java Package
Java.lang Java.applet Java.awt Java.io Java.util Java.net Java.rmi….etc
![Page 26: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/26.jpg)
Copyright: MCC Advanced Java Programming 26
//Constructor Example
class Constructor_test{public Constructor_test() {
System.out.println("Hello ");}public Constructor_test(String txt) {
System.out.println("Hello "+txt);}
public static void main(String args[]) {Constructor_test obj=new Constructor_test();Constructor_test obj2=new Constructor_test(args[0]);
}}
![Page 27: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/27.jpg)
Copyright: MCC Advanced Java Programming 27
Method Overloading
class Method_overload{public void Show(){
System.out.println("Hello Myanmar");}public static int Show(int num){
int a=num+10;return a;
}public static void main(String args[]){
Method_overload obj=new Method_overload();obj.Show();int num=Show(320);System.out.println(num);
}}
![Page 28: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/28.jpg)
Copyright: MCC Advanced Java Programming 28
Inheritance Example
class Super{public void Show(){
System.out.println("Hello");}
}class Sub extends Super{
public static void main(String args[]){Sub obj=new Sub();obj.Show();
}}
![Page 29: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/29.jpg)
Copyright: MCC Advanced Java Programming 29
Method overridden Example
class Super{public void Show(){
System.out.println("Hello");}
}class Sub extends Super{
public void Show(int num){System.out.println("Hello "+num);
}public static void main(String args[]){
Sub obj=new Sub();obj.Show();obj.Show(20);
}}
![Page 30: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/30.jpg)
Copyright: MCC Advanced Java Programming 30
Example for Constructors
//Constructor and Overloaded Constructorclass Me{
public Me(){System.out.println("Hello Constructor");
}
public Me(String arg){System.out.println("Hello " +arg);
}public static void main(String args[]){
Me obj=new Me(); // implicitMe obj1=new Me("OverLoaded Constructor");
}}
![Page 31: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/31.jpg)
Copyright: MCC Advanced Java Programming 31
Method and Overloaded Method
//Method and Overloaded Methodclass Me{
public void Show(){System.out.println("Hello Method");
}
public void Show(String arg){System.out.println("Hello " +arg);
}public static void main(String args[]){
Me obj=new Me();obj.Show();obj.Show("Overloaded Method");
}}
![Page 32: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/32.jpg)
Copyright: MCC Advanced Java Programming 32
Overridden Method
class Me{public void Show(){
System.out.println("Hello Method");}
}class Sub extends Me{
public void Show(String arg){System.out.println("Hello " +arg);
}public static void main(String args[]){
Sub obj=new Sub();obj.Show();obj.Show("Overloaded Method");
}}
![Page 33: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/33.jpg)
Copyright: MCC Advanced Java Programming 33
Generation Interface
//interface example public interface MyInterface{
public void add(int x,int y);}
![Page 34: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/34.jpg)
Copyright: MCC Advanced Java Programming 34
Implementing Interface
class Demo implements MyInterface{public void add(int x,int y){
System.out.println(" "+(x+y));}public static void main(String args[]){
Demo obj=new Demo();obj.add(20,30);
}}
![Page 35: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/35.jpg)
Copyright: MCC Advanced Java Programming 35
Generating Package
package MyPackage;public class Compute{
public int Add(int x,int y){return (x+y);
}public int Subtract(int x,int y){
return (x-y);}public int Multiply(int x,int y){
return (x*y);}public int Divide(int x,int y){
return (x/y);}
}
![Page 36: Object Oriented Programming with Java](https://reader034.fdocuments.net/reader034/viewer/2022052503/545419b0af7959856d8b70b1/html5/thumbnails/36.jpg)
Copyright: MCC Advanced Java Programming 36
Applying Package
import MyPackage.*;class PKDemo{
public static void main(String args[]){Compute obj=new Compute();int sum=obj.Add(10,20);int sub=obj.Subtract(20,10);System.out.println("the total is "+sum);System.out.println("the minus is "+sub);
}}