មេរៀនទី២៥: Access Modifiers
មានពីរប្រភេទនៃ modifiers ក្នុង java គឺ: access modifiers និង non-access modifiers។
ដែល access modifiers ក្នុង java នៃ data member, method, constructor ឬ class។
បួនប្រភេទនៃ java access modifiers:
1. private
2. default
3. protected
4. public
1) private access modifier
private access modifier ត្រូវបានប្រើជាមួយ class.
ឧទាហរណ៍នៃ private access modifier
ក្នុងឧទាហរណ៍នេះ យើងបានបង្កើត classes A និង Simple។ class មួយផ្ទុកក្នុង private data member និង private method។ យើងកំពុងអនុញ្ញាតអោយ private members ពីខាងក្រៅនៃ class,
class A{
private int data=40;
private void msg(){System.out.println(“Hello java”);}
}
public class Simple{
public static void main(String args[]){
A obj=new A();
System.out.println(obj.data);//Compile Time Error
obj.msg();//Compile Time Error
}
}
តួនាទីនៃ Private Constructor
ប្រសិនបើលោកអ្នក បង្កើត class constructor private, លោកអ្នកមិនអាច ជំនួស class នោះពីខាងក្រៅនៃ class ឧទាហរណ៍:
class A{
private A(){}//private constructor
void msg(){System.out.println(“Hello java”);}
}
public class Simple{
public static void main(String args[]){
A obj=new A();//Compile Time Error
}
}
2) default access modifier
ប្រសិនបើមិនប្រើ modifier ផ្សេងទៀត វាត្រូវបានបង្កើត ដូចជា default bydefault។ default modifier ត្រូវបានអនុញ្ញាតជាមួយ package។
ឧទាហរណ៍នៃ default access modifier
ក្នុងឧទាហរណ៍ យើងបានបង្កើត packages pack និង mypack។ យើងកំពុងអនុញ្ញាត A class ពីខាងក្រៅនៃ package, ពី A class គឺមិនមែន public, ដូច្នេះវាមិនអាចចេញក្រៅ package។
//save by A.java
package pack;
class A{
void msg(){System.out.println(“Hello”);}
}
//save by B.java
package mypack;
import pack.*;
class B{
public static void main(String args[]){
A obj = new A();//Compile Time Error
obj.msg();//Compile Time Error
}
}
3) protected access modifier
protected access modifier គឺអនុញ្ញាតអោយ package និង package ពីខាងក្រៅ ប៉ុន្តែឆ្លងកាត់ inheritance មួយគត់។
ឧទាហរណ៍នៃ protected access modifier
ក្នុងឧទាហរណ៍នៃ, យើងបានបង្កើត packages pack និង mypack។ ដែល class នៃ pack package គឺជា public, ដូច្នេះអាច package ពីក្រៅ។ ប៉ុន្តែ msg method នៃ package នេះគឺត្រូវបានប្រកាស ដូចជាការពារ ដូច្នេះវាអាចចេញក្រៅ class ឆ្លងកាត់ inheritance។
//save by A.java
package pack;
public class A{
protected void msg(){System.out.println(“Hello”);}
}
//save by B.java
package mypack;
import pack.*;
class B extends A{
public static void main(String args[]){
B obj = new B();
obj.msg();
}
}
Output:Hello
4) public access modifier
public access modifier គឺអនុញ្ញាតគ្រប់កន្លែង។
ឧទាហរណ៍នៃ public access modifier
//save by A.java
package pack;
public class A{
public void msg(){System.out.println(“Hello”);}
}
//save by B.java
package mypack;
import pack.*;
class B{
public static void main(String args[]){
A obj = new A();
obj.msg();
}
}
Output:Hello
ដែល access modifiers ក្នុង java នៃ data member, method, constructor ឬ class។
បួនប្រភេទនៃ java access modifiers:
1. private
2. default
3. protected
4. public
1) private access modifier
private access modifier ត្រូវបានប្រើជាមួយ class.
ឧទាហរណ៍នៃ private access modifier
ក្នុងឧទាហរណ៍នេះ យើងបានបង្កើត classes A និង Simple។ class មួយផ្ទុកក្នុង private data member និង private method។ យើងកំពុងអនុញ្ញាតអោយ private members ពីខាងក្រៅនៃ class,
class A{
private int data=40;
private void msg(){System.out.println(“Hello java”);}
}
public class Simple{
public static void main(String args[]){
A obj=new A();
System.out.println(obj.data);//Compile Time Error
obj.msg();//Compile Time Error
}
}
តួនាទីនៃ Private Constructor
ប្រសិនបើលោកអ្នក បង្កើត class constructor private, លោកអ្នកមិនអាច ជំនួស class នោះពីខាងក្រៅនៃ class ឧទាហរណ៍:
class A{
private A(){}//private constructor
void msg(){System.out.println(“Hello java”);}
}
public class Simple{
public static void main(String args[]){
A obj=new A();//Compile Time Error
}
}
2) default access modifier
ប្រសិនបើមិនប្រើ modifier ផ្សេងទៀត វាត្រូវបានបង្កើត ដូចជា default bydefault។ default modifier ត្រូវបានអនុញ្ញាតជាមួយ package។
ឧទាហរណ៍នៃ default access modifier
ក្នុងឧទាហរណ៍ យើងបានបង្កើត packages pack និង mypack។ យើងកំពុងអនុញ្ញាត A class ពីខាងក្រៅនៃ package, ពី A class គឺមិនមែន public, ដូច្នេះវាមិនអាចចេញក្រៅ package។
//save by A.java
package pack;
class A{
void msg(){System.out.println(“Hello”);}
}
//save by B.java
package mypack;
import pack.*;
class B{
public static void main(String args[]){
A obj = new A();//Compile Time Error
obj.msg();//Compile Time Error
}
}
3) protected access modifier
protected access modifier គឺអនុញ្ញាតអោយ package និង package ពីខាងក្រៅ ប៉ុន្តែឆ្លងកាត់ inheritance មួយគត់។
ឧទាហរណ៍នៃ protected access modifier
ក្នុងឧទាហរណ៍នៃ, យើងបានបង្កើត packages pack និង mypack។ ដែល class នៃ pack package គឺជា public, ដូច្នេះអាច package ពីក្រៅ។ ប៉ុន្តែ msg method នៃ package នេះគឺត្រូវបានប្រកាស ដូចជាការពារ ដូច្នេះវាអាចចេញក្រៅ class ឆ្លងកាត់ inheritance។
//save by A.java
package pack;
public class A{
protected void msg(){System.out.println(“Hello”);}
}
//save by B.java
package mypack;
import pack.*;
class B extends A{
public static void main(String args[]){
B obj = new B();
obj.msg();
}
}
Output:Hello
4) public access modifier
public access modifier គឺអនុញ្ញាតគ្រប់កន្លែង។
ឧទាហរណ៍នៃ public access modifier
//save by A.java
package pack;
public class A{
public void msg(){System.out.println(“Hello”);}
}
//save by B.java
package mypack;
import pack.*;
class B{
public static void main(String args[]){
A obj = new A();
obj.msg();
}
}
Output:Hello
Post a Comment