ເມທອດເປັນວິທີການຫລືການກະທຳທີ່ນິຍາມຢູ່ໃນຄາດຫລືອອບເຈັກເພື່ອໃຊ້ໃນການຈັດການກັບລັກສະນະຂອງອອບເຈັກຫລືຄຸນລັກສະນະຂອງຄາດເຊັ່ນ
ອອບເຈັກຊະນິດບັນຊີເງິນຝາກອາດມີຄຸນລັກສະນະ balance
ເພື່ອເກັບຍອດເງິນຄົງເຫລືອທີ່ຢູ່ໃນບັນຊີ ແລະອາດມີເມທອດ deposit ()
ເພື່ອເປັນວິທີການໃນການຝາກເງິນໃຫ້ກັບອອບເຈັກໃນເມທອດຈະມີຄຳສັ່ງເພື່ອຈັດການກັບວິທີການຝາກເງິນແລະຈຳທຳການປັບປ່ຽນຄ່າຂອງຄຸນລັກສະນະ
balance ເຮົາສາມາດປຽບທຽບເມທອດໄດ້ກັບຟັງຊັນ Procedure ຫລື Subroutine
ຂອງໂປຣແກຣມເຊິ່ງກະ ບວນການ
ການຂຽນໂປຣແກຣມເຊິ່ງອອບເຈັກຈະກຳນົດໃຫ້ອອບເຈັກຕ່າງໆ ສື່ສານກັນ
ໂດຍການຜ່ານຂ່າວສານ (Message) ລະຫວ່າງອອບເຈັກທີ່ເປັນຜູ້ສົ່ງ (Sender) ກັບອອບເຈັກທີ່ເປັນຜູ້ຮັບ
(Receiver) ໂດຍການເອີ້ນໃຊເມທອດເຊັ່ນ ຮູບທີ 4.5
ສະແດງຕົວຢ່າງຂອງການສົ່ງຂ່າວສານຈາກອອບເຈັກ objA ທີ່ເປັນຜູ້ສົ່ງ
ເພື່ອເອີ້ນການທຳງານຂອງເມທອດ method4 () ຂອງອອບເຈັກ objB
ທີ່ເປັນຜູ່້ຮັບ ການສົ່ງຂ່າວສານລະຫວ່າງກັນອາດມີການສົ່ງຂໍ້ມູນຈາກ objA
ຜ່ານໄປຍັງ objB ໂດຍຜ່ານທາງ argument ຂອງເມທອດ (ຕົວຢ່າງເຊັ່ນ ຄ່າ 1 ແລະ
2 ໃນຮູບທີ 4.5) ແລະຜູ້ຮັບກໍ່ອາດສົ່ງຄ່າກັບ (Return Value)
ມາຍັງຜູ້ສົ່ງ
ຮູບທີ 4.5
ຕົວຢ່າງຂອງການສົ່ງຂ່າວສານລະຫວ່າງອອບເຈັກ
4.2
ການຂຽນໂປຣແກຣມເຊີງອອບເຈັກໂດຍໃຊ້ພາສາຈາວາ
4.2.1 ການປະກາດຄາດ
ໂປຣແກຣມພາສາຈາວາແຕ່ລະໂປຣແກຣມຈະປະກອບໄປດ້ວຍ
ຄາດຢ່າງນ້ອຍໜຶ່ງຄາດ ໂດຍມີຮູບແບບການປະກາດດັ່ງນີ້
|
ໂດຍທີ່
- modifier ຄືຄີເວີດ
(Keyword)ຂອງພາສາຈາວາທີ່ໃຊ້ເປັນ access modifier ເຊັ່ນ public
ຫລືອະທິບາຍຄຸນສົມບັດອື່ນໆ ຂອງຄາດ ເຊັ່ນ abstract ແລະ final
ເຊິ່ງເປັນເງື່ອນໄຂເພີ່ມເຕີມ
- class ຄືຄີເວີດຂອງພາສາຈາວາເພື່ອລະບຸວ່າເປັນການປະກາດຄາດ
- ClassName
ຄືຊື່ຂອງຄາດທີ່ເປັນຊື່ ໃດໆ ທີ່ສອດຄ່ອງກັບກົດການຕັ້ງຊື່
- class member
ຄືເມທອດຫລືຄຸນລັກສະນະຂອງຄາດ
ຕົວຢ່າງການປະກາດຄາດ
Student ສາມາດທຳໄດ້ດັ່ງນີ້
public class Student {
}
4.2.2 ການປະກາດຄຸນລັກສະນະ
ຄຸນລັກສະນະຂອງອອບເຈັກຄືຕົວແປຫລືຄ່າຄົງທີ່ເຊິ່ງປະກາດພາບໃນອອບເຈັກ
ໂດຍມີຮູບແບບການປະກາດດັ່ງນີ້
|
ໂດຍທີ່
- modifier
ຄືຄີເວີດຂອງພາສາຈາວາທີ່ອະທິບາຍຄຸນສົມບັດຕ່າງໆ
ຂອງຕົວແປຫລືຄ່າຄົງທີ່ເຊັ່ນ public, static, final ແລະ transient
ເປັນຕົ້ນ
- data Type
ຄືຊະນິດຂໍ້ມູນເຊິ່ງອາດເປັນຊະນິດຂໍ້ມູນແບບພື້ນຖານຫລືຊະນິດຂໍ້ມູນແບບອ້າງອີງທີ່ຈະກ່າວເຖິງໃນບົດຕໍ່ໄປ
- attributeName
ຄືຊະນິດຂອງຄຸນລັກສະນທີ່ເປັນຊື່ identifier ໃດໆ ເຊິ່ງສອດຄ່ອງກັບກົດການຕັ້ງຊື່
ຕົວຢ່າງການປະກາດຄຸນລັກສະນະ
id, name ແລະ gpa ເຊິ່ງມີຊະນິດຂໍ້ມູນເປັນ String ແລະ double ໃນຄາດ
Student ສາມາດທຳໄດ້ດັ່ງນີ້
public class Student {
public String id;
public String name;
public double gpa;
}
4.2.3 ການປະກາດເມທອດ
ພາສາຈາວາກຳນົດຮູບແບບຂອງການປະກາດເມທອດທີ່ຢູ່ໃນຄາດໄວ້ດັ່ງນີ້
|
ໂດຍທີ່
- modifier
ຄືຄີເວີດຂອງພາສາຈາວາທີ່ເປັນ access modifier ເຊັ່ນ public ຫລື
private ຫລືອະທິບາຍຄຸນສົມບັດອື່ນໆ ຂອງເມທອດເຊັ່ນ abstract ຫລື
statice ເປັນຕົ້ນ
- return_type
ຄືຊະນິດຂໍ້ມູນຂອງຄ່າທີ່ສົ່ງກັບຫລັງຈາກສຳເລັດສິ້ນສຸດການທຳງານຂອງຄຳສັ່ງໃນເມທອດນີ້
ໂດຍຊະນິດຂໍ້ມູນຂອງຄ່າທີ່ສົ່ງກັບອາດເປັນຊະນິດຂໍ້ມູນແບບພື້ນຖານຫລືຊະນິດຂໍ້ມູນແບບອ້າງອີງ
ໃນກໍລະນີທີ່ບໍ່ມີການສົ່ງຄ່າໃດໆກັບຈະຕ້ອງລະບຸຊະນິດຂໍ້ມູນເປັນ
void
- methodName
ຄືຊື່ຂອງເມທອດທີ່ເປັນຊື່ identifier ໃດໆ
ເຊິ່ງສອດຄ່ອງກັບກົດການຕັ້ງຊື່
- arguments
ຄືຕົວແປທີ່ໃຊ້ໃນການຮັບຂໍ້ມູນທີ່ອອບເຈັກສົ່ງມາໃຫ້
ໂດຍອາດມີຫລາຍກວ່າໜຶ່ງຕົວແປ ຫລືບໍ່ມີເລີຍກໍ່ໄດ້ຂຶ້ນຢູ່ກັບການກຳນົດເມທອດ
- method_body
ຄືຄຳສັ່ງຕ່າງໆ ຂອງພາສາຈາວາທີ່ຢູ່ໃນເມທອດ
ໂປຣແກຣມທີ
4.1 ສະແດງຕົວຢ່າງໂປຣແກຣມພາສາຈາວາທີ່ປະກາດຄາດ Student ໂດຍມີຄຸນລັກສະນະຄື
id, name, gpa ແລະ MIN_GPAແລະມີເມທອດຄື setId(), setName(), setGpa() ແລະ
showDetails()
ໂປຣແກຣມທີ
4.1 ຄາດ Student
ເມທອດ
main ()
ໂປຣແກຣມພາສາຈາວາທີ່ເປັນໂປຣແກຣມຈາວາປະຍຸກ
(Java Application) ຈະເລີ່ມ ຕົ້ນການທຳງານໃນຄາດທີ່ມີເມທອດ main ()
ໂດຍມີຮູບແບບຂອງເມທອດດັ່ງນີ້
|
4.2.4 ການປະກາດແລະສ້າງອອບເຈັກ
ອອບເຈັກທຸຸກອອບເຈັກໃນໂປຣແກຣມພາສາຈາວາຈະຕ້ອງມີຄຳສັ່ງປະກາດເພື່ອລະບຸວ່າອອບເຈັກນັ້ນເປັນອອບເຈັກຂອງຄາດໃດ
ໂດຍມີຮູບແບບດັ່ງນີ້
|
ໂດຍທີ່
- modifier
ຄືຄີເວີດອະທິບາຍຄຸນລັກສະນະຕ່າງໆ ຂອງອອບເຈັກ
- ClassName ຄືຊື່ຂອງຄາດ
- objectName
ຄືຊື່ຂອງອອບເຈັກທີ່ເປັນຊື່
identifierໃດໆເຊິ່ງສອດຄ່ອງກັບກົດການຕັ້ງຊື່
ຕົວຢ່າງເຊັ່ນ
ຄຳສັ່ງ
Student s1;
ເປັນຄຳສັ່ງປະກາດອອບເຈັກ s1 ໃຫ້ເປັນອອບເຈັກຂອງຄາດ
Student ທັງນີ້ຄາດທີ່ລະບຸໃນຄຳສັ່ງປະເພດອອບເຈັກຈະຕ້ອງເປັນຄາດທີ່ມີການນິຍາມໄວ້ແລ້ວກ່າວຄືຈະຕ້ອງມີຄາດ
Student ທີ່ນິຍາມໄວ້ແລ້ວ
ຄຳສັ່ງໃນການປະກາດອອບເຈັກບໍ່ໄດ້ເປັນຄຳສັ່ງທີ່ໃຊ້ໃນການສ້າງອອບເຈັກ
ຄຳສັ່ງທີ່ໃຊ້ໃນການສ້າງອອບເຈັກຈະມີຮູບແບບດັ່ງນີ້
|
ໂດຍທີ່
- objectName
ຄືຊື່ຂອງອອບເຈັກ
- new
ຄືຄີເວີດຂອງພາສາຈາວາເພື່ອໃຊໃນການສ້າງອອບເຈັກ
- ClassName ຄືຊື່ຂອງຄາດ
- Arguments
ຄືຄ່າທີ່ຕ້ອງການສົ່ງຜ່ານໃນການເອີ້ນເມທອດໃນການສ້າງອອບເຈັກເຊິ່ງອາດມີຫລືບໍ່ມີກໍ່ໄດ້
ການສ້າງອອບເຈັກໂດຍເອີ້ນໃຊ້ຄຳສັ່ງ new
ນີ້ຈະເປັນການເອີ້ນໃຊ້ເມທອດໃນການສ້າງອອບເຈັກທີ່ເອີ້ນວ່າ
constructorຂອງຄາດນັ້ນໆ ເຊິ່ງຈະມີການອະທິບາຍການທຳງານຂອງ constructor
ໃນບົດທີ 6
ຕົວຢ່າງຄຳສັ່ງໃນການສ້າງອອບເຈັກ
s1 ທຳໄດ້ດັ່ງນີ້
s1 = new Student();
ນອກຈາກນີ້ຄຳສັ່ງໃນການປະກາດແລະສ້າງອອບເຈັກສາມາດທີ່ຈະລວມເປັນຄຳສັ່ງດຽວກັນໄດ້ໂດຍມີຮູບແບບຄຳສັ່ງດັ່ງນີ້
|
ເຊັ່ນ
Student s1 = new Student();
4.2.5
ການເອີ້ນໃຊ້ສະມາຊິກຂອງອອບເຈັກ
ສາມາຊິກຂອງອອບເຈັກປະກອບດ້ວຍຄຸນລັກສະນະແລະເມທອດ
ການເອິ້ນໃຊ້ສາມາຊິກຂອງອອບເຈັກທຳໄດ້ໂດຍການໃຊ້ເຄື່ອງໝາຍຈຸດ (.)
ກ່າວຄືລັກສະນະຂອງອອບເຈັກສາມາດເອີ້ນໃຊ້ ໂດຍມີຮູບແບບດັ່ງນີ້
|
ໂດຍທີ່
- objectName
ຄືຊື່ຂອງອອບເຈັກທີ່ສ້າງຂຶ້ນ
- attributeName
ຄືຊື່ຂອງລັກສະນະຂອງອອບເຈັກນັ້ນ
ນອກຈາກນີ້ເຮົາສາມາດທີ່ຈະສົ່ງຂ່າວສານໄປຍັງອອບເຈັກພາຍຫລັງຈາກທີ່ມີການສ້າງອອບ
ເຈັກຂຶ້ນມາໄດ້ໂດຍການເອີ້ນໃຊ້ເມທອດຂອງອອບເຈັກນັ້ນ
ຮູບແບບຄຳສັ່ງໃນການເອີ້ນໃຊ້ເມທອດມີດັ່ງນີ້
|
ໂດຍທີ່
- objectName
ຄືຊື່ຂອງອອບເຈັກທີ່ສ້າງຂຶ້ນ
- methodName
ຄືຊື່ຂອງເມທອດຂອງອອບເຈັກນັ້ນ
- arguments
ຄືຄ່າທີ່ຕ້ອງການສົ່ງຜ່ານໄປໃຫ້ກັບເມທອດຂອງອອບເຈັກນັ້ນ
ໂດຍທີ່ຈະຕ້ອງມີຊະນິດຂໍ້ມູນແລະຈຳນວນ argument
ໃຫ້ສອດຄ່ອງກັບທີ່ປະກາດໃນເມທອດຂອງອອບເຈັກນັ້ນ
ຕົວຢ່າງເຊັ່ນ
ຄຳສັ່ງ
s1.setName(“Thana ”);
ເປັນການເອີ້ນໃຊ້ເມທອດ setName ()
ຂອງອອບເຈັກ s1 ເຊິ່ງເປັນອອບເຈັກຂອງຄາດ Student ໂດຍຈະສົ່ງຜ່ານ argument
ຊະນິດ String ທີ່ມີຄ່າເປັນຂໍ້ຄວາມ Thana ໃຫ້ກັບເມທອດດັ່ງກ່າວ ໂປຣແກຣມທີ
4.2 ສະແດງຕົງຢ່າງໂປຣແກຣມຂອງຄາດ spmple ທີ່ມີເມທອດ main () ຢູ່ໂດຍໂປຣແກຣມນີ້ຈະສ້າງອອບເຈັກຂອງຄາດ
Student ຂຶ້ນມາສາມອອບເຈັກຄື ອອບເຈັກ s1, s2 ແລະ s3
ຈາກນັ້ນຈະທຳການເອີ້ນເມທອດ setName () ເພື່ອກຳນົດຄ່າໃຫ້ກຳນົດຄ່າໃຫ້ກັບຄຸນລັກສະນະ
name ຂອງອອບເຈັກແຕ່ລະຕົວ
ເຊິ່ງຜົນລັບຂອງໂປຣແກຣມນີ້ຈະໄດ້ອອບເຈັກດັ່ງສະແດງໃນ ຮູບທີ 4.6
ໂປຣແກຣມທີ
4.2 Sample ຄາດທີ່ເອີ້ນໃຊ້ເມທອດຂອງຄາດ Student
ຮູບທີ 4.6
ຜົນລັບຂອງໂປຣແກຣມທີ 4.2
4.3
ຄຸນລັກສະນະເດັ່ນຂອງໂປຣແກຣມເຊີງອອບເຈັກ
ໂປຣແກຣມເຊີງອອບເຈັກ
ຈະມີຄຸນລັກະສະນະເດັ່ນຢູ່ສາມປະການຄື ການຫໍ່ຫຸ້ມ (Encapsulation)
ການສືບທອດ (Interitance) ແລະການມີໄດ້ຫລາຍຮູບແບບ (Polymorphism)
4.3.1 ການຫໍ່ຫຸ້ມ
ຫລັກການທີ່ສຳຄັນປະການໜຶ່ງຂອງການຂຽນໂປຣແກຣມເຊີງອອບເຈັກຄືການຫໍ່ຫຸ້ມເຊີ່ງິ
ຄຸນລັກສະນະຂອງອອບເຈັກຈະຖືກຫໍ່ຫຸ້ມຢູ່ພາຍໃນ
ເພື່ອບໍ່ໃຫ້ອອບເຈັກອື່ນໆ
ສາມາດເຂົ້າເຖິງຂໍ້ມູນທີ່ເປັນຄຸນລັກສະນະໄດ້ໂດຍກົງການຈະເອີ້ນໃຊ້ຄຸນລັກສະນະຂອງອອບເຈັກຈະທຳໄດ້ໂດຍການເອີ້ນຜ່ານເມທອດເທົ່ານັ້ນດັ່ງສະແດງໃນຮູບທີ
4.7
ຮູບທີ 4.7
ຫລັກການຂອງການຫໍ່ຫຸ້ມ
ອອບເຈັກແຕ່ລະອອບເຈັກຈະປະກອບໄປດ້ວຍສ່ວນທີ່ເປັນ
interface ແລະສ່ວນທີ່ເປັນ implementation ສ່ວນທີ່ເປັນ interface ຄືສ່ວນຂອງອອບເຈັກທີ່ອະນຸອາດໃຫ້ອອບເຈັກອື່ນສາມາດເອີ້ນໃຊ້ງານໄດ້
ເຊິ່ງໃນພາສາຈາວາກໍ່ຄືຄຸນລັກສະນະຫລືເມທອດທີ່ຖືປະກາດໃຫ້ມີ access
modifier ເປັນ public ສຳຫລັບສ່ວນທີ່ເປັນ implementation
ຄືສ່ວນຂອງອອບເຈັກທີ່ບໍ່ສາມາດເຂົ້າເຖິງໄດ້ຈາກພາຍນອກ ອອບເຈັກອື່ນໆ
ຈະບໍ່ສາມາດເຫັນສ່ວນທີ່ເປັນ implementation ຂອງອອບເຈັກໄດ້
ໃນພາສາຈາວາກໍ່ຄືຄຸນລັກສະນະຫລືເມທອດທີ່ຖືກປະກາດໃຫ້ມີ access
modifier ເປັນ private
ການຂຽນໂປຣແກຣມເຊີງອອບເຈັກໂດຍໃຊ້ຫລັກການຂອງການຫໍ່ຫຸ້ມ
ສາມາດທຳໄດ້ໂດຍກຳນົດໃຫ້ຄຸນລັກສະນະຂອງອອບເຈັກມີ access modifier ເປັນ
private ແລະກຳນົດໃຫ້ເມທອດທີ່ສາມາດເອີ້ນຈາກອອບເຈັກພາຍນອກໄດ້ມີ
access modifier ເປັນ public ດັ່ງສະແດງຕົວຢ່າງໃນໂປຣແກຣມທີ 4.3
ໂປຣແກຣມທີ
4.3 ການໃຊ້ຫລັກການຂອງການຫໍ່ຫຸ້ມ
ຂໍ້ດີຂອງການຫໍ່ຫຸ້ມຄື
- ການຊ້ອນຂໍ້ມູນ
(Information Hiding) ເຮັດໃຫ້ອອບເຈັກສາມາດຕິດຕໍ່ກັບອອບເຈັກພາຍນອກຜ່ານເມທອດທີ່ເປັນສ່ວນຂອງ
interface ເທົ່ານັ້ນ
ເຊິ່ງຖ້າມີການປ່ຽນແປງຄຸນລັກສະນະຫລືເມທອດທີ່ຢູ່ພາຍໃນອອບເຈັກ
ກໍ່ຈະບໍ່ມີຜົນກະທົບໃດໆ ຕໍ່ອອບເຈັກພາຍນອກທີ່ເອີ້ນໃຊ້
- ຄວາມເປັນໂມດູນ
(Modularity) ການພັດທະນາໂປຣແກຣມເຊີງອອບເຈັກຈະສາມາດກຳນົດໃຫ້ອອບເຈັກແຕ່ລະອອບເຈັກມີຄວາມເປັນອິດສະຕໍ່ກັນ
ຖ້າມີການປ່ຽນແປງເກີດຂຶ້ນພາຍໃນອອບເຈັກໜຶ່ງກໍ່ຈະບໍ່ມີຜົນກະທົບຕໍ່ບົດ
ເຄື່ອງໂທລະສັບເປັນຕົວຢ່າງໜຶ່ງ
ຂອງການສະແດງຄຸນລັກສະນະເດັ່ນດ້ານການຫໍ່ຫຸ້ມຂອງ
ອອບເຈັກສ່ວນທີ່ເປັນ
interface ກໍ່ຄືປຸ່ມຂອງໂທລະສັບທີ່ຜູ້ໃຊ້ສາມາດຕິດຕໍ່ກັບເຄື່ອງໄດ້
ສຳຫລັບລະບົບອີເລັກໂທນິກທີ່ຢູ່ໃນເຄື່ອງໂທລະສັບຄືສ່ວນທີ່ເປັນ implementation
ເຊິ່ງຜູ້ໃຊ້ບໍ່ສາມາດເບິ່ງເຫັນແລະບໍ່ຈຳເປັນຕ້ອງເຂົ້າໃຈການທຳງານຂອງລະບົບດັ່ງກ່າວ
ແລະຫາກລະບົບອີເລັກໂທນິກພາຍໃນປ່ຽນແປງໄປຜູ້ໃຊ້ຍັງສາມາດທີ່ຈະຕິດຕໍ່ກັບເຄື່ອງໄດ້ໂດຍໃຊ້ປຸ່ມທີ່ເປັນສ່ວນ
interface ຄືເກົ່າ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น