មេរៀនទី២២: Abstract class
class ដែលបានប្រកាសជាមួយ abstract keyword, គឺជា abstract class
ក្នុង java វាអាចមាន abstract និងnon-abstract methods (method ជាមួយ
body)។
Abstraction ក្នុង Java
Abstraction គឺដំណើរការនៃ ការលាក់ការប្រើប្រាស់ ហើយបង្ហាញអនុគមន៍ដើម្បី user។
វិធីដើម្បីសម្រេច Abstaction
មានពីរវិធីដើម្បីសម្រេច abstraction ក្នុង java
1. Abstract class (0 ទៅ 100%)
2. Interface (100%)
Abstract class ក្នុង Java
class ដែលត្រូវបានប្រកាស abstract ជា abstract class វាត្រួវការប្រត្តិបត្តិហើយ អនុវត្ត។ abstract class A{}
abstract method
method ដែលត្រូវបានប្រកាស abstract និងមិនអនុវត្តដូចជា abstract method.
ឧទាហរណ៍ abstract method
ក្នុងឧទាហរណ៍នេះ, Bike abstract class ដែលផ្ទុក abstract method តែមួយគត់។ វាអនុវត្តន៍ ត្រូវបានផ្តល់ ដោយ Honda class។
abstract class Bike{
abstract void run();
}
class Honda4 extends Bike{
void run(){System.out.println(“running safely..”);}
public static void main(String args[]){
Bike obj = new Honda4();
obj.run();
}
}
running safely..
ស្វែងយល់ពី abstract class
ក្នុងឧទាហរណ៍នេះ, Shape គឺជា abstract class, វាត្រូវបានផ្តល់ដោយ Rectangle និង Circle classes។.
ឧទាហរណ៍នេះ, ប្រសិនបើបង្កើត Rectangle class, draw() method នៃ Rectangle class: TestAbstraction1.java
abstract class Shape{
abstract void draw();
}
//In real scenario, implementation is provided by others i.e. unknown by end user
class Rectangle extends Shape{
void draw(){System.out.println(“drawing rectangle”);}
}
class Circle1 extends Shape{
void draw(){System.out.println(“drawing circle”);}
}
//In real scenario, method is called by programmer or user
class TestAbstraction1{
public static void main(String args[]){
Shape s=new Circle1();//In real scenario, object is provided through method e.g. getShape() method
s.draw();
}
}
drawing circle
ឧទាហរណ៍ abstract class ក្នុង java
File: TestBank.java
abstract class Bank{
abstract int getRateOfInterest();
}
class SBI extends Bank{
int getRateOfInterest(){return 7;}
}
class PNB extends Bank{
int getRateOfInterest(){return 7;}
}
class TestBank{
public static void main(String args[]){
Bank b=new SBI();//if object is PNB, method of PNB will be invoked
int interest=b.getRateOfInterest();
System.out.println(“Rate of Interest is: “+interest+” %”);
}}
Rate of Interest is: 7 %
Abstract class មាន constructor, data member, methods ។ល។
abstract class មួយមាន data member, abstract method, method body, constructor
main() method.
File: TestAbstraction2.java
//example of abstract class that have method body
abstract class Bike{
Bike(){System.out.println(“bike is created”);}
abstract void run();
void changeGear(){System.out.println(“gear changed”);}
}
class Honda extends Bike{
void run(){System.out.println(“running safely..”);}
}
class TestAbstraction2{
public static void main(String args[]){
Bike obj = new Honda();
obj.run();
obj.changeGear();
}
}
bike is created
running safely..
gear changed
តួនាទី: ប្រសិនបើ abstract method នៅក្នុង class មួយដែល class ត្រូវការ abstract។
class Bike12{
abstract void run();
}
compile time error
abstract class ពិតប្រាកដ៍
abstract class អាចប្រើដើម្បីផ្តល់ ការអនុវត្តន៍នៃ interface។
ចំណាំ: ប្រសិនបើចាប់ផ្តើមក្នុង java, រៀន interface ដំបូង
interface A{
void a();
void b();
void c();
void d();
}
abstract class B implements A{
public void c(){System.out.println(“I am C”);}
}
class M extends B{
public void a(){System.out.println(“I am a”);}
public void b(){System.out.println(“I am b”);}
public void d(){System.out.println(“I am d”);}
}
class Test5{
public static void main(String args[]){
A a=new M();
a.a();
a.b();
a.c();
a.d();
}}
Output:I am a
I am b
I am c
I am d
Abstraction ក្នុង Java
Abstraction គឺដំណើរការនៃ ការលាក់ការប្រើប្រាស់ ហើយបង្ហាញអនុគមន៍ដើម្បី user។
វិធីដើម្បីសម្រេច Abstaction
មានពីរវិធីដើម្បីសម្រេច abstraction ក្នុង java
1. Abstract class (0 ទៅ 100%)
2. Interface (100%)
Abstract class ក្នុង Java
class ដែលត្រូវបានប្រកាស abstract ជា abstract class វាត្រួវការប្រត្តិបត្តិហើយ អនុវត្ត។ abstract class A{}
abstract method
method ដែលត្រូវបានប្រកាស abstract និងមិនអនុវត្តដូចជា abstract method.
ឧទាហរណ៍ abstract method
ក្នុងឧទាហរណ៍នេះ, Bike abstract class ដែលផ្ទុក abstract method តែមួយគត់។ វាអនុវត្តន៍ ត្រូវបានផ្តល់ ដោយ Honda class។
abstract class Bike{
abstract void run();
}
class Honda4 extends Bike{
void run(){System.out.println(“running safely..”);}
public static void main(String args[]){
Bike obj = new Honda4();
obj.run();
}
}
running safely..
ស្វែងយល់ពី abstract class
ក្នុងឧទាហរណ៍នេះ, Shape គឺជា abstract class, វាត្រូវបានផ្តល់ដោយ Rectangle និង Circle classes។.
ឧទាហរណ៍នេះ, ប្រសិនបើបង្កើត Rectangle class, draw() method នៃ Rectangle class: TestAbstraction1.java
abstract class Shape{
abstract void draw();
}
//In real scenario, implementation is provided by others i.e. unknown by end user
class Rectangle extends Shape{
void draw(){System.out.println(“drawing rectangle”);}
}
class Circle1 extends Shape{
void draw(){System.out.println(“drawing circle”);}
}
//In real scenario, method is called by programmer or user
class TestAbstraction1{
public static void main(String args[]){
Shape s=new Circle1();//In real scenario, object is provided through method e.g. getShape() method
s.draw();
}
}
drawing circle
ឧទាហរណ៍ abstract class ក្នុង java
File: TestBank.java
abstract class Bank{
abstract int getRateOfInterest();
}
class SBI extends Bank{
int getRateOfInterest(){return 7;}
}
class PNB extends Bank{
int getRateOfInterest(){return 7;}
}
class TestBank{
public static void main(String args[]){
Bank b=new SBI();//if object is PNB, method of PNB will be invoked
int interest=b.getRateOfInterest();
System.out.println(“Rate of Interest is: “+interest+” %”);
}}
Rate of Interest is: 7 %
Abstract class មាន constructor, data member, methods ។ល។
abstract class មួយមាន data member, abstract method, method body, constructor
main() method.
File: TestAbstraction2.java
//example of abstract class that have method body
abstract class Bike{
Bike(){System.out.println(“bike is created”);}
abstract void run();
void changeGear(){System.out.println(“gear changed”);}
}
class Honda extends Bike{
void run(){System.out.println(“running safely..”);}
}
class TestAbstraction2{
public static void main(String args[]){
Bike obj = new Honda();
obj.run();
obj.changeGear();
}
}
bike is created
running safely..
gear changed
តួនាទី: ប្រសិនបើ abstract method នៅក្នុង class មួយដែល class ត្រូវការ abstract។
class Bike12{
abstract void run();
}
compile time error
abstract class ពិតប្រាកដ៍
abstract class អាចប្រើដើម្បីផ្តល់ ការអនុវត្តន៍នៃ interface។
ចំណាំ: ប្រសិនបើចាប់ផ្តើមក្នុង java, រៀន interface ដំបូង
interface A{
void a();
void b();
void c();
void d();
}
abstract class B implements A{
public void c(){System.out.println(“I am C”);}
}
class M extends B{
public void a(){System.out.println(“I am a”);}
public void b(){System.out.println(“I am b”);}
public void d(){System.out.println(“I am d”);}
}
class Test5{
public static void main(String args[]){
A a=new M();
a.a();
a.b();
a.c();
a.d();
}}
Output:I am a
I am b
I am c
I am d
Post a Comment