យើងបានសិក្សាមករួចហើយ នូវ OOP ដែលមាន Encapsulation ថាមានអត្ថន័យយ៉ាងណានោះ។
ឥឡូវនេះយើងមកសិក្សាលំអិតអំពី encapsulation ទាំងអស់គ្នា។ យើងបានដឹងហើយថា encapsulation គឺការវុិចខ្ចប់កូដឲ្យមានសុវត្ថិភាពពីកូដខាងក្រៅ។
ការកំណត់ឲ្យវាមានសុវត្ថិភាពដោយយើងកំណត់ access modifier ឲ្យវា នូវ field ហើយភាគច្រើន វាត្រូវបានកំណត់ដាក់ជា private។ យើងបានដឹងហើយថា private modifier គឺបានដើរបាននៅក្នុង class ដែលវាកំពុងឈរនៅ។
យើងកំណត់ field private នៅក្នុង super class។ ឧទាហរណ៍បង្កើត class មួយដែលមានឈ្មោះថា Student
class Student{ private int id; private String name; private String gender; }
method set និង get
ដើម្បីហៅ field id, name និង gender យកមកប្រើបាន គឺប្រើតាម method ហើយ method គឺជា public modifier។ ចំពោះ field មួយដោយប្រើ method ពីរគឺ set និង get។ ឧទាហរណ៍ field id
class Student{ private int id; private String name; private String gender; public void setId() { } public int getId() { return id; } }
- method set: គឺជាអ្នក ឲ្យតំលៃទៅ field នៃ super class របស់យើង (sign or set value to private int id)
class Student{ private int id; public void setId(int id) { this.id = id; } public int getId() { return id; } }
public class Run { public static void main(String[] args) { Student st = new Student(); st.setId(70); } }នៅពេលនេះ field id របស់យើងតំលៃ 70 ដែលយើងបានបញ្ចូលទៅឲ្យវា
- method get:គឺជាការទាញយកតំលៃរបស់ field យកមកប្រើប្រាស់។
class Student{ private int id; public void setId(int id) { this.id = id; } public int getId() { return id; } }
public class Run { public static void main(String[] args) { Student st = new Student(); st.setId(70); int id = st.getId(); System.out.println("Id: "+id); } }

ឧទាហរណ៍
class Student{ private int id; private String name; private char gender; public void setId(int id) { this.id = id; } public int getId() { return id; } public void setName(String name) { this.name = name; } public String getName() { return name; } public char setGender(char g) { return this.gender = g; } public char getGender() { return gender; } }
public class Run { public static void main(String[] args) { Student st = new Student(); st.setId(70); st.setName("Ros Dul"); st.setGender('M'); int id = st.getId(); String name = st.getName(); char gender = st.getGender(); System.out.println("Id: "+id+"\tName: "+name+"\tGender: "+gender); } }

លំហាត់
class Person{ private int age; private String name; public void setName(String name) { if(name.length()<15) { this.name = name; } } public String getName() { return name; } public boolean setAge(int age) { if(age<100) { this.age = age; return true; }else { System.err.print("The number avalidate!"); return false; } } public int getAge() { return age; } }
public class People { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Person person = new Person(); System.out.print("Input name under 15 charater:"); String n = sc.next(); person.setName(n); System.out.print("Input age under 100:"); int g = sc.nextInt(); if(person.setAge(g)) { System.out.println("name: "+person.getName()+"\tAge: "+ person.getAge()); } }


0 Comments