76
1 การโปรแกรมโดย Classes Objects และ Methods

Computer Programming 4

Embed Size (px)

Citation preview

1

การโปรแกรมโดย Classes Objects และ Methods

2

หลกการเชงวตถ การเขยนโปรแกรมเชงวตถ:- เปนการเขยนโปรแกรมทมองทก

อยางภายในโปรแกรมและสภาพแวดลอมเปนวตถ การสราง

วตถชนหนงตองประกอบดวยวตถอนอกหลายช น

หลกทวไปของ OOP คอ การสบทอดออบเจกต

(inheritance Object) เปนการน าคณลกษณะจากObject ทมอยแลวมาใชงาน โดยไมตองสรางฟงกชนหรอ

Object ขนใหม

Object:- สงทมตวตนและน าไปใชในการประมวลผลขอมลได

โครงสรางของ Object คอ คลาส (Class) ซงแตละ

Object ประกอบดวย

– คณสมบต (Property) หรอขอมล (Data)

– พฤตกรรม (Behavior) หรอ Method

3

คลาสตาง ๆ ใน Object ใหมทมตนก าเนดจากคลาสเดมเรยกคลาสตนก าเนดวา คลาสหลก (SuperClass) และเรยกคลาสทมคณสมบตคลายฟงกชนวา คลาสยอย

(SubClass) ซงคลาสยอยจะสบคณสมบตทงหมดของคลาสหลกมาใชงาน

คลาสทไมระบคลาสหลกถอวา คลาสนนก าเนดจาก Object และดวยการสบทอดรปแบบ สงผลใหแตละ Object มคณสมบตเหมอน Object ตนก าเนด ท าใหสามารถเขยน

โปรแกรมไดเรวขน

Object Class เปนคลาสเดยวใน Object ทไมมคลาสหลกและเปน SuperClass ของทกคลาสใน Java โดยเปนClass ส าเรจรปทสามารถเรยกใชไดทนท ดงนน ทก

Method ใน Object Class จงถกเรยกใชงานโดยคลาสใด ๆ กได

4

การเขยนโปรแกรมเชงวตถสนใจขอมลทถกประมวลผลมากกวา

ฟงกชนทท าการประมวลผล โดยขอมลจะถกใชเปนหลกในการ

แบงโปรแกรมเปนสวน ๆ ทสามารถแกไขเปลยนแปลงไดในแตละ

สวน และสามารถน ากลบมารวมเปนโปรแกรมใหญไดอกครง ชวย

ใหการเขยนโปรแกรมเปนไปอยางรวดเรว และสามารถ

เปลยนแปลงสงทอยภายในแตละ Object ไดโดยไมผลกระทบกบสวนอนของโปรแกรมหลก

Method ใน Java เปรยบเสมอน Procedure หรอFunction ในภาษาอน โดย Java ประกอบดวย Class ตาง ๆ ในแตละ Class จะมอยางนอย 1 Method เพอใชในการปฏบตงาน

บางโปรแกรมอาจม Method ในการปฏบตงานจ านวนมาก แต

ตองม Method ชอ Main เพอเรมตนโปรแกรม ภายใน

main Method จะเรยกใช Method ใด ๆ ขนอยกบการ

ท างานของโปรแกรม

5

ตวอยางโครงสรางโปรแกรม

public class AMethod A1Method A2main Method

Class BMethod B1

6

โครงสรางของ Class[<access_spec.>] [<modifier>] class <class_name> [extends SuperClass_name]

[implements interfaces_name]{ //data members

//methods }

access_specifier และ modifier :- ระดบการเขาถงหรอ

ความสามารถในการใหบรการกบคลาสอน ๆ เชน public private protected final

class :- ค าศพทสงวนทบอกใหทราบวา สวนของโปรแกรมตอไปนเปนคลาส

extends :- ค าศพทเฉพาะทบอกใหทราบวา คลาสนสบทอดมาจาก

SuperClass

superClass_name :- ชอของคลาสทตองการสบคณสมบตตาง ๆ มาใช

งาน เพอไมตองเรมเขยนโปรแกรมจากจดเรมตน

implements :- ค าศพทเฉพาะเพอเรยกใชหรอขอการสนบสนนจากคลาส

อนมาเปนสวนเชอมประสานระหวางคลาส

interfaces_name :- ชอของอนเทอรเฟซทตองการใชงาน การใชงานแบบ

อนเทอรเฟซเปนการะบกลมพฤตกรรมทเพมใหคลาส นอกเหนอจากพฤตกรรม

ตาง ๆ จาก SuperClass

7

โครงสรางของ data members

[<access_specifier>] [<modifier>] <datatype> <variable_name>

access_specifier และ modifier เปนการก าหนด

คณลกษณะพเศษในการใชงานตวแปร เชน static final

public private protected

8

โครงสรางของ Method [<access_spec.>] [<modifier>] <return_type> <method_name> ([arg._list]){ //Statements }

access_specifier และ modifier:- ระดบการเขาถง

ขอมล เชน public private static void final

return_type :- ชนดของขอมลทจะสงคนหลงสนสดการท างาน

ของ Method ซงใน 1 Method จะตองสงผลลพธอยางนอยทสด 1 คากลบไปยง Method ทเรยกใชมา

argument_list :- ชอของตวแปรทใชรบขอมลทสงมาจาก

Method ทเรยกใชงาน Method น

Statements :- ค าสงควบคมการท างานของนพจน เพอ

ก าหนดวธการประมวลผลภายใน method

9

ตวอยางของ method ชอ factorial

public long factorial (long theNumber)

{ long result = theNumber;

for (int i=theNumber–1; i>=1; i--)

result*=i;

return result; }

10

ประเภทของ Method

Method ทสรางขนมาเอง :- Method ทผเขยนโปรแกรมสรางขน

ใชเองตามตองการอาจอยใน Class เดยวกนหรอตาง Class กนกได

Method ทมอยแลว :- Method ใน Class Libraries ตาง ๆ

ใน Package ของ JDK การเรยกใชงานตองระบในค าสง import

ตอนตนโปรแกรม โดยไมจ าเปนตองสราง Object ข นมาใหม

11

ตวอยางการเรยกใช Method ทสรางขนเอง

12

ตวอยางการเรยกใช Method ทอยตาง Class

13

การเรยกใช Method จาก Class Libraries

เรยกใชโดยระบชอ Package ชอ Class และชอ Method

ตามล าดบ คนดวยเครองหมายจด

ชอ Package. ชอ Class. ชอ Method(parameter_list);

System.out.println(“Warm Welcome”);

14

ตวอยางการเรยกใช Method ในค าสงเดยวกน

15

Method Invocation

การเรยกใช method ท าไดในสองลกษณะ– Method ทไมสงคากลบออกมาจะตองถกเรยกจากต าแหนงของประโยค– Method ทสงคากลบออกมาจะตองถกเรยกจากต าแหนงของ term ภายใน

expression โครงสรางของประโยคทเรยก method มดงน

<method name> (<argument list>);<argument list> คอ ล าดบของ expression หรอตวแปร หรอ instance หรอ

คาคงท ของคาทจะถกสงใหแกพารามเตอรใน method ทถกเรยก จ านวนและชนดขอมลของ <argument list> จะตองสอดคลองกบ <parameter list> ของ method ทถกเรยก

ดานของประโยคทเรยก method คา <argument list> ทถกสงออกมา จะถกเรยกวา actual parameter หรอ argument สวนทางดานโปรแกรมทก าหนดmethod คา <parameter list> ทรบเขามาจะถกเรยกวา formal parameter หรอparameter

16

เมอมการเรยก method จะมเหตการณเกดขนดงตอไปน1. คาของ argument จะถกสงใหแกพารามเตอรตามต าแหนงของมน2. โปรแกรมเปลยนการด าเนนจากประโยคทเรยก method ไปท

จดเรมตนของ method นน หากมการประกาศตวแปรเฉพาะทในmethod กสรางตวแปรเหลานขน แลวโปรแกรมด าเนนตอไปจนกวาจะถงประโยคสดทาย หรอถงประโยค return

3. หาก method ด าเนนไปถงประโยค return ทมexpression คาของ expression นนจะถกค านวณและผลลพธนนถกสงกลบไปยงต าแหนงทเรยก method นน แตหากmethod นนถกระบวาจะไมสงคาออกมา (void) กอาจจะจบทประโยคสดทายหรอประโยค return ทไมมคาสงออกมา

4. หาก method สนสดการท างานทประโยคสดทาย โดยไมมการexit หรอ return โปรแกรมจะเปลยนการด าเนนกลบมายงต าแหนงถดจากจดทเรยก method นนและด าเนนตอไป

17

การใช Command-Line Arguments

18

Object การเรยกใชงาน Class ใดกตาม ตองสราง Object ข นมาใหมเพอ

เตรยมไวใหสามารถใชงานไดกบ Class นน

การสราง Object ใหมเรยกวา Object Instantiation

การสราง Object พรอมกบการใสขอมลเรยกวา Object

Initialization

การก าหนดวา Object อยใน Class ใด => String S1;

การสราง Object พรอมกบการใสขอมล =>

S1 = new String(“Hello”);

หรออาจรวมไวในค าสงเดยว =>

String S1 = new String(“Hello”);

19

การสราง Object การก าหนดวา Object อยใน Class ใด

รปแบบ ClassName ObjectNameเชน Circle MyCircle;การสราง Object เพอจดสรรหนวยความจ าให Object นรปแบบ ObjectName = new ClassName();เชน MyCircle = new Circle();

การสราง Object โดยใชค าสงเดยวรปแบบ ClassName ObjectName = new ClassName();เชน Circle MyCircle = new Circle();

การสรางมากกวาหนง Objectรปแบบ ClassName ObjectName_1 = new ClassName();

ObjectName_2 = new ClassName();เชน Circle MyCircle_1 = new Circle(),

MyCircle_2 = new Circle();

20

21

Object-oriented concept

Method overloading เปนการเรยก method หนงดวยargument ทแตกตางกนไปในการเรยกแตละครง และจะตองมหลาย ๆmethod ส าหรบการเรยกแตละแบบ เชน method ในการหาคาสงสดอาจประกอบดวย 2 method ซงม argument ตางกน คอ static double max(double num1, double num2)

static int max(int num1, int num2)

22

Overloading Methods

23

ปญหาของ Overloading

24

ปญหาของ Overloading

25

Constructor Method

เมอ Object ใด ๆ ถกสรางขนมาภายใต Class หนง โปรแกรมจะตองไปเรยกใช Method ทมชอเดยวกบ Class ทนท (ถาม) การก าหนดการท างานลกษณะนเรยกวา “Constructor” และเรยกMethod ทมชอเดยวกบ Class วา “Constructor Method” ทงน มขอจ ากด คอ– Constructor Method ตองมชอเดยวกบชอ Class

– Header ของ Constructor Method ตองไมมคาreturn_data_type หรอ แมกระทง Keyword void

กรณทม Subclass มากมายเปนล าดบชน และม Constructor รวมอยดวย เมอใชค าสง super() เพอเรยกใช Constructor ในระดบใดกตาม Constructor ของ Superclass แรก จะตองถกเรยกใชกอนเสมอ ไมวาจะม subclass มากเพยงใด

26

Constructor Method

27

Constructor Method

เมอ Object ใด ๆ ถกสรางขนมาภายใต Class หนง โปรแกรมจะตองไปเรยกใช Method ทมช อเดยวกบClass ทนท (ถาม) การก าหนดการท างานลกษณะนเรยกวา“Constructor” และเรยก Method ทมช อเดยวกบ Class วา “Constructor Method” ทงน มขอจ ากด คอ– Constructor Method ตองมชอ

เดยวกบชอ Class– Header ของ Constructor

Method ตองไมมคาreturn_data_type หรอแมกระทง Keyword void

กรณทม Subclass มากมายเปนล าดบชน และม Constructor รวมอยดวย เมอใชค าสง super() เพอเรยกใช Constructor ในระดบใดกตาม Constructor ของ Superclass แรก จะตองถกเรยกใชกอนเสมอ ไมวาจะม subclass มากเพยงใด

28

ค าสง super

Subclass สามารถเรยกใชConstructor Method ของ Superclass ไดเลย โดยSubclass ไมจ าเปนตองสรางConstructor ของตนเองขนมาใหม (Constructor จะไมถกสบทอดจากการ Inherit ดวยค าสง extends แตละจะเรยกใชไดโดยค าสง super) ท าใหประหยดเวลาและไมซ าซอน

เรยกใชสมาชกของSuperclass ในกรณทSubclass ใชสมาชก (ตวแปร,Method ชอเดยวกน)

29

Overriding Method

Method overriding เปนการก าหนดชอของ method ในsubclass ใหมชอเหมอนกน method ใน parent class

เพอเปลยนแปลงการท างาน method ใน parent class ใหท าหนาทอนใน subclass

การ binding วาชอ method ท instance สงมาเปนmethod ตวใด จะท าแบบ dynamic binding

แนวคดในการจดการกบ instance ของ class ทตางกนดวย method เดยวกนเรยกวา polymorphism

polymorphism เปนการสนบสนนการออกแบบโปรแกรมเพอใหใชงานรวมกน หรอการน ากลบมาใชไดอก

30

31

Overriding Method

กรณทช อ Method เหมอนกน แตมจ านวนหรอชนดของParameter ตางกน(เรยกวา Signature ตางกน) เรยกวา “Overloading Method”

กรณทช อ Method เหมอนกนรวมทง Signature กเหมอนกนลกษณะเชนนเรยกวา“Overriding Method”

กรณทโปรแกรมพบ Overridden Method ใน Subclass และSuperclass โปรแกรมจะท างานท Method ของ Subclass แทนโดยอตโนมต (ไมท างานทMethod ของ Superclass)

32

การปองกนการOverride (Final Method)

Method ใดทมการระบค าวา final จะไมสามารถถกทบ (override) โดยMethod ใดได

33

เนองจาก subclass มการสบทอดทง method และตวแปร จากsuperclass และ subclass เองกสามารถก าหนดทงตวแปรและmethod ทมชอซ ากนกบ superclass ได แตการตงชอตวแปรซ ากบsuperclass จะไมเหมอนกบกรณของ method คอ ไมสามารถทจะoverriding ตวแปรได ดงนน ตวแปรท subclass ถาซ ากนจะมสองกรณ คอ

เปนตวแปรของ superclass คอ เปนการสบทอดตวแปรทกตวของsuperclass

การสรางตวแปรใหมโดยทชอตวแปรซ ากน ตวแปรทสรางใหมจะอางองภายใน subclass เทานน

34

การเรยกใช method “Callme()” ใน Superclass และSubclass ในลกษณะของ Overriden

35

Composition

เปนการสราง Object ใหมจาก Class เดมทมอย โดย

Object ใหมน จะอยใน Class ใหมทสรางขน ดงนน

Class ใหมจะสามารถเรยกใช Method ตาง ๆ จาก

Class เดมทมอยไดโดยไมตองสรางหรอแกไข Method ท

มใน Class เดม

Class A //Class เดมทมaa()

{ … }

bb()

{ … }

Class B //Class ทสรางขนใหมA b = new A() //สราง Object b จาก Class A

b.aa() //เรยกใช Method aa ของ A

b.bb() //เรยกใช Method bb ของ A

36

37

Inheritance

เปนการสราง Class ใหมใหเปนพวกเดยวกบ Class เดมทม ท าให สามารถใชคณสมบตตางๆ เชน ตวแปร Method Constructor หรออน ๆ ของ Class เดมทมไดโดยไมตองแกไข ทงน Class เดมทมอาจก าหนดไมให Class อนมาใช คณสมบตใด ๆ ไดดวยเชนกน

หลกของ Inheritance คอ การสราง Class หลกขนมา 1 Class โดย Class หลกจะมคณสมบตตาง ๆ โดยรวมท Class อน ๆจ าเปนตองม จากนนจงสราง Class อน ๆ ขนเพอรบการถายทอดคณสมบตทงหมดจาก Class หลกโดยอตโนมต และสามารถสรางคณสมบตอน ๆ นอกจากทมใน Class หลกขนได

Class X

double i;

xx();

Class Y extends X

double j;

yy();

38

39

การปองกนการ Inherit (Final Class)

Class ใดทมการระบค าวา final จะไมสามารถน าไปใชเปนSuperclass ของ Class ใด ๆ ได (สมาชกทงหมดใน Class จะถกปองกนจากการเรยกใชจาก Class อน)

40

41

การก าหนดใหตวแปรมคาคงท

การใชงาน final

42

Polymorphism

ความสามารถของ Class หนงทสามารถอางองถง Object ของอก Class หนงได โดยเมอ method นนถกเรยกใชโดยการอางองมาจาก Class อน Class เจาของ Object จะตดสนใจวา จะเรยกใช method ใด ทงน ไมไดขนอยกบชนดของการอางองถง (type of reference) แตขนอยกบชนดของObject (type of object)

Shape

draw()erase()

Triangle

draw()erase()

Square

draw()erase()

Circle

draw()erase()

43

44

การก าหนดคา Accessibility ของตวแปรเปน private

45

การก าหนดคา Accessibility ของตวแปรเปน private

46

access modifier protected protected :- ไมไดเปดใหคลาสใดสามารถเขาใชงานไดอยางอสระ แต

ไมถงกบเปดไมใหใครเขาใชงานเลย ดงน– คลาสทอยในแพกเกจเดยวกนกบคลาสทถกก าหนด modifier เปน

protected สามารถเรยกใชงาน member ของคลาสทถกก าหนดเปน protected ได

– คลาสทอยตางแพกเกจกบคลาสทถกก าหนด modifier เปน protected จะไมสามารถเรยกใชงาน member ของคลาสทถกก าหนดเปน protected ได

– คลาสทอยตางแพกเกจกบคลาสทถกก าหนด modifier เปน protected แตมความสมพนธเปนคลาสแมคลาสลกกน สามารถเรยกใชงาน member ของคลาสทถกก าหนดเปน protected ได

47

48

การปองกนการเรยกใชภายในSuperclass

การปองกนไมให Subclassเรยกใชตวแปรหรอ methodใน Superclass สามารถท าไดโดยการระบค าวา privateลงไปทตวแปรหรอ methodนน และหากตองการใหตวแปรหรอ method ใดสามารถเรยกใชหรออางองไดเฉพาะการ Inherit โดยSubclass เทานนจะใชค าวาprotected วางไวดานหนาตวแปรหรอ method นน

49

แบบฝกหดท 3

จงเขยนโปรแกรม item31.java เพอค านวณหาคาจอดรถของอาคารจอดรถแหงหนง ซงเปดบรการระหวาง 05.00-22.00 น. โดยมขอมล คอ ทะเบยนรถ

วนทเขาใชบรการ เวลาเขา และเวลาออก

เวลาทใชจอด = เวลาออก - เวลาเขา

ผลลพธทตองการใหแสดงออกทางจอภาพ

คาจอดรถ ทะเบยน xxxxเวลาเขา เวลาออก รวม (ชวโมง) จ านวนเงน

HH : MM HH : MM HH : MM X,XXX.XXทงน คาจอดรถใน 3 ชวโมงแรก 20 บาท เศษของชวโมงหากเกน 30 นาทใหปดขนเปนหนงชวโมง แตถาไมเกน 30 นาท ใหปดเศษทง ส าหรบคาจอดรถทเฉพาะสวนทเกนจาก 3 ชวโมง ใหคดชวโมงละ 30 บาท โดยใชวธการปดเศษเชนเดยวกน

ทงน ใหสมมตขอมลขนเองตามความเหมาะสม และค านงถงความเปนจรงวา 1 ชวโมงม 60 นาท การใชบรการขามวนคดคาบรการวนละ 500 บาท

จงเขยนโปรแกรม item32.java โดยใช overloading method เพอเปรยบเทยบ ตวแปรสองตว ซงตวแปรดงกลาวอาจเปนไดทงจ านวนเตมทงค

จ านวนจรงทงค หรอเปนขอความทงค

สงภายในวนศกรท 20 สงหาคม 2553

50

Abstract Classes

Class ทถกออกแบบมาใหใชงานในแบบล าดบขน (Hierarchy)

และไมสามารถ instantiated (การท าใหเกด Object จากClass)

ภายใน Abstract Class ตองม Abstract Method

(Method ทไมมการ implement ไวภายใน Method

(ไมระบรายละเอยดของการท างาน)) รวมอยดวย Abstract Class จะใชประโยชนในการท างานแบบ Class

Hierarchy ทจะระบการท างานไวเพยงบางสวน แลวให Class

ทอยระดบต ากวาเปนผ implement ในสวนทเหลอ รปแบบ

abstract ชอ Class หรอ Method (parameter_list);

51

ทก Class ทสรางขนมาจาก Class A จะตองสราง method ชอ “callme” เพอใชเปน overridden method เสมอ

หามมค าสงเพอใชในการท างานภายใน “Abstract Method”หามสราง Object ใดๆ ภายใน “Abstract Class” (โดยใชค าสง new)ตองสราง Abstract Method ไวใน Abstract Class เทานน

52

53

การสบทอดคณสมบตของคลาสสามารถจ าแนกได 2 ประเภท คอ1. Single inheritance หมายถง การทคลาสหนงๆ ไดรบการถายทอดคณสมบต (inherit) ทงแอตทรบวตและเมธอดมาจากอกคลาสหนงเพยงคลาสเดยว ตวอยางเชน คลาสสนข คลาสชาง และคลาสมา ตางกเปนคลาสทไดรบการถายทอดคณสมบตจากคลาสสตวสเทา

54

2. Multiple inheritance หมายถง การทคลาสหนงๆ ไดรบการถายทอดคณสมบตทงแอตทรบวตและเมธอดมาจากคลาสอนมากกวาหนงคลาส ตวอยางเชน คลาสไลเกอร (Liger) ไดรบการถายทอดคณสมบตจากคลาสสงโตและคลาสเสอ

55

Interfaces

ท าหนาทคลายกบ Abstract โดยการนยาม Interface

เหมอนกบการนยาม Class เพยงแตภายใน Interface จะมเฉพาะรายชอ methods แตไมมเนอหาของ methods

โปรแกรมใดนยาม Interface ไว หมายถง ก าหนดวา ทกClass ในโปรแกรมตองสราง Method ทมชอตามทระบไวในInterface ดวย โดยเนอหาของ Method อาจแตกตางกนไปในแตละ Class ขนอยกบความตองการในการใชงาน (แตชอMethod ตองเปนชอเดยวกน)

ประโยชนของ Interface คอ การท า Multiple

Inheritance

56

แนวคดในการออกแบบการเชอมตอ (Interface) ของคลาสจ าแนกเปน 2 ประเภทคอ

1. Abstract Interface เปนการเชอมตอทประกอบดวยโครงสราง คอ ชอของเมธอด พารามเตอร และชนดของขอมลคนกลบ พรอมทงมสวนของการขอรบการสนบสนน (implement) อยภายใน ท าใหสามารถน ากลบมาใชใหม(Reuse) รวมกบโปรแกรมอนๆ ได

2. Concrete Interface เปนการเชอมตอทประกอบดวยโครงสราง คอ ชอของเมธอด พารามเตอร และชนดของขอมลคนกลบ โดยไมมสวนของการขอรบการสนบสนน (implement) อยภายใน หากมออบเจกตอนตองการน ากลบมาใชใหม (Reuse) จะตองขอรบการสนบสนน (implement) การท างานเอง

57

58

59

60

ความแตกตางระหวางการเชอมตอ (Interface) กบคลาสวางเปลา (Abstract Class) อาจสรปไดดงนคอ

คลาสวางเปลา (Abstract Class) การเชอมตอ (Interface)

เปนคลาส ไมใชคลาส

บางเมธอดของคลาสวางเปลา (Abstract Class)ตองระบค าวา “abstract”

เมธอดทปรากฏในการเชอมตอ (Interface) ไมตองระบค าวา “abstract”

การเรยกใชงานคลาสวางเปลา (Abstract Class) ตองใชค าวา “extends”

การเรยกใชงานการเชอมตอ (Interface)ตองใชค าวา “implements”

คลาสทท าการ extends ไมจ าเปนตองระบเมธอดทมอยในคลาสวางเปลา (Abstract Class) ครบทกเมธอด

คลาสทขอรบการสนบสนน (implement) ตองระบทกเมธอดทมอยในการเชอมตอ (Interface) ใหครบ

61

การสงผาน Arguments

การสงโดยใชคาของ Argument (Value)

62

63

การสงผานดวยการอางอง Arguments (Reference)

64

65

การสงผาน Arguments โดยใช Object Reference

66

การสงคาตวแปรแบบทวไปกบการสงคาตวแปรแบบ Object

67

เมธอดส าเรจรปเกยวกบวนท และเวลา

คลาส Calendar และคลาส Date ตางเปนคลาสในแพคเกจ java.util ใชส าหรบจดการขอมลทเปนวนเดอนปและเวลา

import java.util.*;

การแสดงผลจากการท างานของคลาส Calendar และคลาส Date มการจดรปแบบ การแสดงผลดวยเมธอด format ซงเปนเมธอดหนงในแพคเกจ java.text

import java.text.*;

คลาส Calendar กบการแสดงผลวนเดอนปและเวลาCalendar ชอออบเจกต = Calendar.getInstance();

System.out.format(“%รหสแสดงผล”, ชอออบเจกต)

รหสแสดงผล ค าอธบาย

tB แสดงชอเดอน

td แสดงวนเปนตวเลข 2 หลก อยในรปแบบของ 00

te แสดงวนเปนตวเลข 1 หรอ 2 หลก

ty แสดงปเปนตวเลข 2 หลก

tY แสดงปเปนตวเลข 4 หลก

tl แสดงชวโมง

tM แสดงนาทเปนตวเลข 2 หลก

tp แสดงชวงเวลา am/pm หรอกอนเทยวหลงเทยง

tm แสดงเดอนในรปตวเลข 2 หลก

tD แสดงวนทในรปของ tm/td/ty

คลาส Date กบการแสดงผลวนเดอนปและเวลาDate ชอออบเจกต = new Date( );

SimpleDateFormat ชอออบเจกต = new SimpleDateFormat(รปแบบ);

รหสแสดงผล ค าอธบาย

yyyy แสดงปครสตศกราช

MM แสดงเดอนเปนตวเลข 2 หลก

MMM แสดงเดอนเปนตวอกษรยอภาษาองกฤษ

ww แสดงสปดาหของป

WW แสดงสปดาหของเดอน

dd แสดงวนท

F แสดงวนของสปดาหเปนตวเลข

EEE แสดงวนของสปดาหเปนตวอกษรยอภาษาองกฤษ

a แสดง AM, PM

รหสแสดงผล ค าอธบาย

HH แสดงชวโมงแบบ 0-23

hh แสดงชวโมงแบบ 1-12

kk แสดงชวโมงแบบ 1-24

KK แสดงชวโมงแบบ 0-11

mm แสดงนาท

ss แสดงวนาท

SS แสดงมลลวนาท

z แสดงชอโซนเวลา

Z แสดงโซนเวลาเปนแบบตวเลข

73

การใชคยเวรด this

this หมายถง คลาสปจจบนทก าลงใชงานอย this.ชอแอตทรบวต หมายถง ชอแอตทรบวตของคลาสปจจบน this.ชอเมธอด หมายถง ชอเมธอดของคลาสปจจบน

76