SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
ssc




การออกแบบ Class



                    1
ssc   การออกแบบ Class



          Class ?




                        2
ssc     การออกแบบ Class

      public      สัญลักษณ์   +
      private     สัญลักษณ์   -
      protected   สัญลักษณ์   #
      package



                                  3
ssc   การออกแบบ Class
          Class Name


           Attribute



           Method


                        4
ssc      การประกาศ Method

      Constructor method
      Accessor method (“get” method)
      Mutator method (“set” method)
      Facilities method



                                       5
ssc     การออกแบบ Class
                  Number


      Number




                           6
ssc     การออกแบบ Class
                       Number
               - number : int
      Number




                                7
ssc     การออกแบบ Class
                       Number
               - number : int
      Number
               + Number()
               + Number(int n)



                                 8
ssc     การออกแบบ Class
                        Number
               - number : int
      Number
               + Number()
               + Number(int n)
               + setValue(int n) : void


                                          9
ssc     การออกแบบ Class
                        Number
               - number : int
      Number
               + Number()
               + Number(int n)
               + setValue(int n) : void
               + getValue() : int


                                          10
ssc     การออกแบบ Class
                        Number
               - number : int
      Number   + Number()
               + Number(int n)
               + setValue(int n) : void
               + getValue() : int
               + toString() : String

                                          11
ssc   การออกแบบ Class


          Number

            Number




        testNumber

                        12
ssc          การออกแบบ Class
                                    Number.java
      public class Number{...}



                                 testNumber.java
      public class testNumber extends JApplet{...}


                                                     13
ssc        การออกแบบ Class


      ให้นักศึกษาสร้าง class

      ชื่อว่า Number

               pico Number.java

                                  14
ssc   การออกแบบ Class
                Number
       - number : int

       + Number()
       + Number(int n)
       + setValue(int n) : void
       + getValue() : int
       + toString() : String

                                  15
ssc             Number.java
      public class Number{
        private int number;
      }




                              - number : int
                                               16
ssc   การออกแบบ Class
                Number
       - number : int

       + Number()
       + Number(int n)
       + setValue(int n) : void
       + getValue() : int
       + toString() : String

                                  17
ssc                 Number.java
      public class Number{
       private int number;
      	
   public Number() {
      	
   	
 setValue((int) (Math.random() * 100));
      	
   }
      	
   public Number(int n) {
      	
   	
 setValue( n );
      	
   }
      }
                                    + Number()
                                    + Number(int n)
                                                       18
ssc   การออกแบบ Class
                Number
       - number : int

       + Number()
       + Number(int n)
       + setValue(int n) : void
       + getValue() : int
       + toString() : String

                                  19
ssc                 Number.java
      public class Number{
         private int number;
      	
 public Number() {
      	
 	
 setValue((int) (Math.random() * 100));
      	
 }
      	
 public Number(int n) {
      	
 	
 setValue( n );
      	
 }
      	
 public void setValue(int n) {
      	
 	
 number = n;
      	
 }
      }
                                   + setValue(int n) : void
                                                              20
ssc   การออกแบบ Class
                Number
       - number : int

       + Number()
       + Number(int n)
       + setValue(int n) : void
       + getValue() : int
       + toString() : String

                                  21
ssc                 Number.java
      public class Number{
         ...
      	
 public Number(int n) {
      	
 	
 setValue( n );
      	
 }
      	
 public void setValue(int n) {
      	
 	
 number = n;
      	
 }
      	
 public int getValue() {
      	
 	
 return(number);
      	
 }
      }
                                    + getValue() : int
                                                         22
ssc   การออกแบบ Class
                Number
       - number : int

       + Number()
       + Number(int n)
       + setValue(int n) : void
       + getValue() : int
       + toString() : String

                                  23
ssc                 Number.java
      public class Number{
         ...
      	
 public void setValue(int n) {
      	
 	
 number = n;
      	
 }
      	
 public int getValue() {
      	
 	
 return(number);
      	
 }
      	
 public String toString() {
      	
 	
 return(Integer.toString(getValue()));
      	
 }
      }
                                    + toString() : String
                                                            24
ssc        การออกแบบ Class



      ให้นักศึกษาCompile class Number

              javac Number.java


                                        25
ssc   การออกแบบ Class


          Number
                     testNumber.html
            Number




        testNumber

                                       26
ssc   การออกแบบ Class


ให้นักศึกษาสร้าง HTML file
        pico testNumber.html




                               27
ssc      testNumber.html
<html>
<body>

<h1>Test Class Number</h1>
<h3>5366261111 Supaporn Simcharoen IT1-RC</h3>

<applet code="testNumber.class" height="100" width="400">
</applet>

</body>
</html>

                                                        28
ssc    การออกแบบ Class

ให้นักศึกษาสร้าง class
ชื่อว่า testNumber
        pico testNumber.java



                               29
ssc      testNumber.java




http://202.44.47.108/~ssc/DC-number/testNumber.html


                                                      30
ssc   testNumber.java




                        31
ssc      testNumber.java
      	
 JLabel textLabel;
      	
 JTextField textField;
      	
 JButton saveBtn, clearBtn, showBtn;
      	
 Number obj;




                       ประกาศตัวแปรต่างๆ
                                               32
ssc     testNumber.java ..init..
        Container c = getContentPane();
        c.setLayout( new FlowLayout());
        ...สร้าง JLabel 1 อัน,
                 JTextField 1 อัน,
                 JButton 3 อัน...


  สร้าง Container, JLabel, JTextField, JButton
                                                 33
ssc     testNumber.java ..init..

                      ตัวอย่างในกรณีที่ระบุ Font

textLabel.setFont(new Font("Courier New",Font.BOLD,20));




                                                       34
ssc        testNumber.java ..init..
      สร้าง obj ของ Class Number ขึ้นมา


         	
 	
 obj = new Number();
         	
 	
 textField.setText(obj.toString());



                             ให้ค่าเริ่มต้น textField
                                                        35
ssc     testNumber.java ..init..
         Number
- number : int

+ Number()
+ Number(int n)            obj = new Number();
+ setValue(int n) : void   มันไปทําที่ไหน ?
+ getValue() : int
+ toString() : String

                                                 36
ssc         testNumber.java ..a.p..
	
   	
   if (event.getSource() == saveBtn) {
	
   	
   	
 int value = Integer.parseInt(textField.getText());
	
   	
   	
 obj.setValue(value);
	
   	
   	
 textField.setText("");
	
   	
   }



                ถ้ากด Save จะบันทึกค่าลงตัวแปรของ Class
                                                                  37
ssc           testNumber.java ..a.p..

 	
    	
 else if (event.getSource() == clearBtn) {
 	
    	
 	
 obj.setValue( 0 );
 	
    	
 	
 textField.setText("");
 	
    	
 }



      ถ้ากด Clear จะบันทึกค่า 0 ลงในตัวแปร Class
                                                      38
ssc      testNumber.java ..a.p..

  	
 	
 else if (event.getSource() == showBtn) {
  	
 	
 	
 textField.setText(obj.toString());
  	
 	
 }




ถ้ากด Show จะดึงค่าของตัวแปร Class มาแสดง
                                                   39
ssc        Homework #1
         Number
- number : int
+ Number()
+ Number(int n)
+ setValue(int n) : void   เพิ่ม method add เพื่อ
+ getValue() : int
+ toString() : String      ให้ Class Number
+ add(int n) : void        สามารถใช้บวกเลขได้

                                                40
ssc       Homework #1




 http://202.44.47.108/~ssc/DC-hw/testNumber.html
                                                   41
ssc        Homework #1

      วิธีส่ง:
      เปิดให้ดูก่อนเรียนต้นคาบหน้า




 http://202.44.47.108/~ssc/DC-hw/testNumber.html
                                                   42
ssc      Homework #2
ให้นักศึกษาคิดหัวข้อ Assignment ว่าจะทําอะไร
พร้อมทั้งออกแบบ Class ว่าจะมี Class อะไรบ้าง
และภายในแต่ละ Class นั้นๆ จะมี attribute และ
method อะไรบ้าง
ส่งต้นคาบหน้าโดยเขียนลงสมุดการบ้าน
กลุ่มละไม่เกิน 4 คน

                                               43

Más contenido relacionado

Destacado

Applet 2 container and action_listener
Applet 2 container and action_listenerApplet 2 container and action_listener
Applet 2 container and action_listenerNitigan Nakjuatong
 
มรดกภูมิปัญญาทางวัฒนธรรมของชาติ ๒๕๕๕
มรดกภูมิปัญญาทางวัฒนธรรมของชาติ ๒๕๕๕มรดกภูมิปัญญาทางวัฒนธรรมของชาติ ๒๕๕๕
มรดกภูมิปัญญาทางวัฒนธรรมของชาติ ๒๕๕๕Boonlert Aroonpiboon
 
ร่างกรอบทิศทางแผนการศึกษาแห่งชาติ พ.ศ. 2560 - 2574
ร่างกรอบทิศทางแผนการศึกษาแห่งชาติ พ.ศ. 2560 - 2574ร่างกรอบทิศทางแผนการศึกษาแห่งชาติ พ.ศ. 2560 - 2574
ร่างกรอบทิศทางแผนการศึกษาแห่งชาติ พ.ศ. 2560 - 2574Boonlert Aroonpiboon
 

Destacado (20)

Applet 5 class_inheritance
Applet 5 class_inheritanceApplet 5 class_inheritance
Applet 5 class_inheritance
 
Array2D
Array2DArray2D
Array2D
 
662305 08
662305 08662305 08
662305 08
 
Applet 7 image_j_panel
Applet 7 image_j_panelApplet 7 image_j_panel
Applet 7 image_j_panel
 
Applet 5 class_inheritance
Applet 5 class_inheritanceApplet 5 class_inheritance
Applet 5 class_inheritance
 
Applet 6 mouse_keyboard
Applet 6 mouse_keyboardApplet 6 mouse_keyboard
Applet 6 mouse_keyboard
 
Applet 7 image_j_panel
Applet 7 image_j_panelApplet 7 image_j_panel
Applet 7 image_j_panel
 
New Assingment3 array2D
New Assingment3 array2DNew Assingment3 array2D
New Assingment3 array2D
 
Applet 4 class_composition
Applet 4 class_compositionApplet 4 class_composition
Applet 4 class_composition
 
Applet 2 container and action_listener
Applet 2 container and action_listenerApplet 2 container and action_listener
Applet 2 container and action_listener
 
Lab 6 new
Lab 6 newLab 6 new
Lab 6 new
 
Method part2
Method part2Method part2
Method part2
 
Array
ArrayArray
Array
 
662305 Lab7new
662305 Lab7new662305 Lab7new
662305 Lab7new
 
Method JAVA
Method JAVAMethod JAVA
Method JAVA
 
662305 LAB13
662305 LAB13662305 LAB13
662305 LAB13
 
Assingment3 array2 d
Assingment3 array2 dAssingment3 array2 d
Assingment3 array2 d
 
Putty basic setting
Putty basic settingPutty basic setting
Putty basic setting
 
มรดกภูมิปัญญาทางวัฒนธรรมของชาติ ๒๕๕๕
มรดกภูมิปัญญาทางวัฒนธรรมของชาติ ๒๕๕๕มรดกภูมิปัญญาทางวัฒนธรรมของชาติ ๒๕๕๕
มรดกภูมิปัญญาทางวัฒนธรรมของชาติ ๒๕๕๕
 
ร่างกรอบทิศทางแผนการศึกษาแห่งชาติ พ.ศ. 2560 - 2574
ร่างกรอบทิศทางแผนการศึกษาแห่งชาติ พ.ศ. 2560 - 2574ร่างกรอบทิศทางแผนการศึกษาแห่งชาติ พ.ศ. 2560 - 2574
ร่างกรอบทิศทางแผนการศึกษาแห่งชาติ พ.ศ. 2560 - 2574
 

Más de Nitigan Nakjuatong

Más de Nitigan Nakjuatong (7)

วิธีการกำหนดสิทธิให้กับ Directory
วิธีการกำหนดสิทธิให้กับ Directoryวิธีการกำหนดสิทธิให้กับ Directory
วิธีการกำหนดสิทธิให้กับ Directory
 
662305 LAB12
662305 LAB12662305 LAB12
662305 LAB12
 
662305 11
662305 11662305 11
662305 11
 
662305 10
662305 10662305 10
662305 10
 
662305 09
662305 09662305 09
662305 09
 
Control structure
Control structureControl structure
Control structure
 
Set putty to use numeric keyboard in pico
Set putty to use numeric keyboard in picoSet putty to use numeric keyboard in pico
Set putty to use numeric keyboard in pico
 

Applet 3 design_class_composition

  • 2. ssc การออกแบบ Class Class ? 2
  • 3. ssc การออกแบบ Class public สัญลักษณ์ + private สัญลักษณ์ - protected สัญลักษณ์ # package 3
  • 4. ssc การออกแบบ Class Class Name Attribute Method 4
  • 5. ssc การประกาศ Method Constructor method Accessor method (“get” method) Mutator method (“set” method) Facilities method 5
  • 6. ssc การออกแบบ Class Number Number 6
  • 7. ssc การออกแบบ Class Number - number : int Number 7
  • 8. ssc การออกแบบ Class Number - number : int Number + Number() + Number(int n) 8
  • 9. ssc การออกแบบ Class Number - number : int Number + Number() + Number(int n) + setValue(int n) : void 9
  • 10. ssc การออกแบบ Class Number - number : int Number + Number() + Number(int n) + setValue(int n) : void + getValue() : int 10
  • 11. ssc การออกแบบ Class Number - number : int Number + Number() + Number(int n) + setValue(int n) : void + getValue() : int + toString() : String 11
  • 12. ssc การออกแบบ Class Number Number testNumber 12
  • 13. ssc การออกแบบ Class Number.java public class Number{...} testNumber.java public class testNumber extends JApplet{...} 13
  • 14. ssc การออกแบบ Class ให้นักศึกษาสร้าง class ชื่อว่า Number pico Number.java 14
  • 15. ssc การออกแบบ Class Number - number : int + Number() + Number(int n) + setValue(int n) : void + getValue() : int + toString() : String 15
  • 16. ssc Number.java public class Number{ private int number; } - number : int 16
  • 17. ssc การออกแบบ Class Number - number : int + Number() + Number(int n) + setValue(int n) : void + getValue() : int + toString() : String 17
  • 18. ssc Number.java public class Number{ private int number; public Number() { setValue((int) (Math.random() * 100)); } public Number(int n) { setValue( n ); } } + Number() + Number(int n) 18
  • 19. ssc การออกแบบ Class Number - number : int + Number() + Number(int n) + setValue(int n) : void + getValue() : int + toString() : String 19
  • 20. ssc Number.java public class Number{ private int number; public Number() { setValue((int) (Math.random() * 100)); } public Number(int n) { setValue( n ); } public void setValue(int n) { number = n; } } + setValue(int n) : void 20
  • 21. ssc การออกแบบ Class Number - number : int + Number() + Number(int n) + setValue(int n) : void + getValue() : int + toString() : String 21
  • 22. ssc Number.java public class Number{ ... public Number(int n) { setValue( n ); } public void setValue(int n) { number = n; } public int getValue() { return(number); } } + getValue() : int 22
  • 23. ssc การออกแบบ Class Number - number : int + Number() + Number(int n) + setValue(int n) : void + getValue() : int + toString() : String 23
  • 24. ssc Number.java public class Number{ ... public void setValue(int n) { number = n; } public int getValue() { return(number); } public String toString() { return(Integer.toString(getValue())); } } + toString() : String 24
  • 25. ssc การออกแบบ Class ให้นักศึกษาCompile class Number javac Number.java 25
  • 26. ssc การออกแบบ Class Number testNumber.html Number testNumber 26
  • 27. ssc การออกแบบ Class ให้นักศึกษาสร้าง HTML file pico testNumber.html 27
  • 28. ssc testNumber.html <html> <body> <h1>Test Class Number</h1> <h3>5366261111 Supaporn Simcharoen IT1-RC</h3> <applet code="testNumber.class" height="100" width="400"> </applet> </body> </html> 28
  • 29. ssc การออกแบบ Class ให้นักศึกษาสร้าง class ชื่อว่า testNumber pico testNumber.java 29
  • 30. ssc testNumber.java http://202.44.47.108/~ssc/DC-number/testNumber.html 30
  • 31. ssc testNumber.java 31
  • 32. ssc testNumber.java JLabel textLabel; JTextField textField; JButton saveBtn, clearBtn, showBtn; Number obj; ประกาศตัวแปรต่างๆ 32
  • 33. ssc testNumber.java ..init.. Container c = getContentPane(); c.setLayout( new FlowLayout()); ...สร้าง JLabel 1 อัน, JTextField 1 อัน, JButton 3 อัน... สร้าง Container, JLabel, JTextField, JButton 33
  • 34. ssc testNumber.java ..init.. ตัวอย่างในกรณีที่ระบุ Font textLabel.setFont(new Font("Courier New",Font.BOLD,20)); 34
  • 35. ssc testNumber.java ..init.. สร้าง obj ของ Class Number ขึ้นมา obj = new Number(); textField.setText(obj.toString()); ให้ค่าเริ่มต้น textField 35
  • 36. ssc testNumber.java ..init.. Number - number : int + Number() + Number(int n) obj = new Number(); + setValue(int n) : void มันไปทําที่ไหน ? + getValue() : int + toString() : String 36
  • 37. ssc testNumber.java ..a.p.. if (event.getSource() == saveBtn) { int value = Integer.parseInt(textField.getText()); obj.setValue(value); textField.setText(""); } ถ้ากด Save จะบันทึกค่าลงตัวแปรของ Class 37
  • 38. ssc testNumber.java ..a.p.. else if (event.getSource() == clearBtn) { obj.setValue( 0 ); textField.setText(""); } ถ้ากด Clear จะบันทึกค่า 0 ลงในตัวแปร Class 38
  • 39. ssc testNumber.java ..a.p.. else if (event.getSource() == showBtn) { textField.setText(obj.toString()); } ถ้ากด Show จะดึงค่าของตัวแปร Class มาแสดง 39
  • 40. ssc Homework #1 Number - number : int + Number() + Number(int n) + setValue(int n) : void เพิ่ม method add เพื่อ + getValue() : int + toString() : String ให้ Class Number + add(int n) : void สามารถใช้บวกเลขได้ 40
  • 41. ssc Homework #1 http://202.44.47.108/~ssc/DC-hw/testNumber.html 41
  • 42. ssc Homework #1 วิธีส่ง: เปิดให้ดูก่อนเรียนต้นคาบหน้า http://202.44.47.108/~ssc/DC-hw/testNumber.html 42
  • 43. ssc Homework #2 ให้นักศึกษาคิดหัวข้อ Assignment ว่าจะทําอะไร พร้อมทั้งออกแบบ Class ว่าจะมี Class อะไรบ้าง และภายในแต่ละ Class นั้นๆ จะมี attribute และ method อะไรบ้าง ส่งต้นคาบหน้าโดยเขียนลงสมุดการบ้าน กลุ่มละไม่เกิน 4 คน 43