TECH30201 Object-Oriented Programming

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา JAVA
Advertisements

C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA
Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
การจัดการความผิดพลาด
บทนำ.
05_3_Constructor.
Object Oriented Programing
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
ตัวแปรชุด.
ครั้งที่ 7 Composition.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
การสืบทอด (Inheritance)
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
คลาสและวัตถุ (2) (Class & Object)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (3) (Class & Object)
คลาสและวัตถุ (2) (Class & Object)
คลาสและวัตถุ (4) (Class & Object)
คลาสและวัตถุ (3) (Class & Object). w5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 24, 25 as5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 23 2.
คลาสและวัตถุ (4) (Class & Object)
บทที่ 4 Method (1).
การสืบทอดคุณสมบัติ (Inheritance)
OOP (Object-Oriented Programming)
C# Programming Exceed Camp: Day 3.
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
อาร์เรย์ หรือแถวลำดับ (Array)
input from keyboard มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 22 มิถุนายน 2550 ความผิดพลาดที่พบ บ่อย มหาวิทยาลัยเนชั่น.
บทที่ 8 อาร์เรย์.
บทที่ 6 เมธอด.
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
เมธอดคือหน้าที่การงานของวัตถุให้เรียกใช้
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
Object Oriented Programming Handling Exceptions
Method of Class อ.สุพจน์ สิงหัษฐิต
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
Lec03 :: หลักการเชิงออปเจ็ค (Object Oriented Concept)
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
Object-Oriented Programming
Advanced Class Design in Java Java Packages Week #6 Jarungjit Parnjai
คำสั่งเงื่อนไข (Condition Statement)
บทที่ 3 Class and Object (2).
คำสั่งรับค่าและฟังก์ชันทางคณิตศาสตร์
บทที่ 2 การแสดงผลและรับข้อมูล
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
Java collection framework
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
Java Network Programming 1
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
Object-Oriented Programming
เมธอดคือหน้าที่การงานของวัตถุให้เรียกใช้
คอนสตรัคเตอร์ (Constructor)
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
chapter 2 - Construction and destruction - Overloading method
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
เริ่มต้นเขียนโปรแกรมภาษาจา วา (Introduction to JAVA Programming)
Chapter 6 Abstract Class and Interface
รายการ (Lis t) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ คณะเทคโนโลยีสารสนเทศและการสื่อสาร Website : ict.up.ac.th/yeunyong.
บทที่ 3 การสืบทอด (Inheritance)
Chapter 5 การจัดการข้อผิดพลาด (Exception Handling)
Method and Encapsulation
Overload Method and Poly Morphism
ใบสำเนางานนำเสนอ:

TECH30201 Object-Oriented Programming Chapter 8 Methods TECH30201 Object-Oriented Programming Reading: Ch.8

เมธอด (Method) กลุ่มของคำสั่งที่ถูกรวมเข้าไว้ภายใต้ชื่อหนึ่งๆ สำหรับทำหน้าที่ตามที่ผู้เขียนโปรแกรมกำหนด [modifier] return_type MethodName ([parameter]) { [method_body] return varValue; } public class Date { private int day, month, year; public void setDate(int newDay, int newMonth, int newYear) { day = newDay; month = newMonth; year = newYear; }

เมธอด (Method) [modifier] return_type MethodName ([parameter]) { [method_body] return varValue; } public class Balloon { private int size=5; public static int ballCount; public void showSize() { System.out.println(size); } public void bigger() { size=size+5; public void smaller() { size=size-2;

เมธอด (Method) [modifier] return_type MethodName ([parameter]) { [method_body] return varValue; } public class Dog { private int size; String name; public void bark() { System.out.println("Ruff Ruff!!"); } public void setSize(int s) { if(s > 0) size = s; public int getSize() { return size;

Argument และ Parameter public class Date { private int day, month, year; public void setDate(int newDay, int newMonth, int newYear) { day = newDay; month = newMonth; year = newYear; } parameters 18 10 2556 public class DateTest { public static void main(String[] args) { Date date = new Date(); date.setDate(18, 10, 2556); } arguments

Argument และ Parameter public class Dog { private int size; public void bark() { System.out.println("Ruff Ruff!!"); } public void setSize(int s) { if(s > 0) size = s; public int getSize() { return size; parameters 10 public class DogTest { public static void main(String[] arg) { Dog myDog = new Dog(); myDog.bark(); myDog.setSize(10); System.out.println(myDog.getSize()); } 10 arguments

ตัวอย่างที่ 2.1 Before calling add5: x=10 In method add5: x=15 3 4 5 6 7 8 9 10 11 12 public class PrimitivePassingTest { public static void add5(int x) { x = x + 5; System.out.println("In method add5: x = " + x); } public static void main(String[] args) { int x = 10; System.out.println("Before calling add5: x = " + x); add5(x); System.out.println("After calling add5: x = " + x); 10 Before calling add5: x=10 In method add5: x=15 After calling add5: x=10

ตัวอย่างที่ 3 1 2 3 4 5 6 7 8 9 10 11 public class TestObject { public static int cube(int x) { return x*x*x; } public static void main(String[] args) { int y; y = cube(2); System.out.println(“2^3 = “ + y); System.out.println(“(2*y)^3 = “ + cube(2*y)); 2 8 2^3 = 8

ตัวอย่างที่ 3 1 2 3 4 5 6 7 8 9 10 11 public class TestObject { public static int cube(int x) { return x*x*x; } public static void main(String[] args) { int y; y = cube(2); System.out.println(“2^3 = “ + y); System.out.println(“(2*y)^3 = “ + cube(2*y)); 16 4096 2^3 = 8 (2*y)^3 = 4096

ปฏิบัติการ เนื้อหาบทที่ 8 ปฏิบัติการที่ 12 เมธอด (1) หัวข้อที่ 1 – 4 (หน้า 1 – 5) ปฏิบัติการที่ 12 เมธอด (1) เข้าไปที่ webcs.mwit.ac.th การเรียนการสอน ปฏิบัติการที่ 12

ประเภทของเมธอด Instance method คือเมธอดที่กระทำกับตัว object โดยตรง ไม่มีคีย์เวิร์ด static Static method เมธอดที่มีพฤติกรรมที่ไม่ขึ้นอยู่กับ object ใดๆ สามารถเรียกใช้เมธอดได้โดยที่ไม่ต้องทำการสร้าง object มีคีย์เวิร์ด static Constructor method มีชื่อเหมือนกับชื่อคลาส และไม่มีการกำหนดชนิดของข้อมูลที่ถูกส่งกลับ ถูกเรียกใช้โดยอัตโนมัติเมื่อมีการใช้คำสั่ง new (เมื่อมีการสร้าง object)

Instance method ก่อนเรียกใช้งานเมธอด จะต้องทำการสร้าง object ก่อน public class Dog { private int size; String name; public void bark() { System.out.println("Ruff Ruff!!"); } public void setSize(int s) { if(s > 0) size = s; public int getSize() { return size;

Instance method ก่อนเรียกใช้งานเมธอด จะต้องทำการสร้าง object ก่อน public class Date { private int day, month, year; public void setDate(int newDay, int newMonth, int newYear) { day = newDay; month = newMonth; year = newYear; } public class DateTest { public static void main(String[] args) { Date date = new Date(); date.setDate(18, 10, 2556); }

Instance method กับ this public class Date { private int day, month, year; public void setDate(int newDay, int newMonth, int newYear) { day = newDay; month = newMonth; year = newYear; } public class Date { private int day, month, year; public void setDate(int day, int month, int year) { this.day = day; this.month = month; this.year = year; } ไม่แนะนำ

เรียกใช้งานผ่านชื่อคลาสได้โดยตรง โดยไม่ต้องสร้าง object Static method public class MaxFinder { public static int max(int x, int y) { if (x > y) return x; return y; } public class MaxFinderTest { public static void main(String[] args) { System.out.println(MaxFinder.max(3,5)); } เรียกใช้งานผ่านชื่อคลาสได้โดยตรง โดยไม่ต้องสร้าง object

Constructor method public class Date { private int day, month, year; public Date() { day = 1; month = 1; year = 2013; } public Date(int d, int m, int y) { day = d; month = m; year = y; public class DateTest { public static void main(String[] args) { Date date = new Date(18, 10, 2556); }

Constructor method public class Date { private int day, month, year; public Date() { day = 1; month = 1; year = 2013; } public Date(int d, int m, int y) { day = d; month = m; year = y; public class DateTest { public static void main(String[] args) { Date date = new Date(); }

Constructor method ERROR เพราะอะไร? public class Date { private int day, month, year; public Date(int d, int m, int y) { day = d; month = m; year = y; } public class DateTest { public static void main(String[] args) { Date date = new Date(); } ERROR เพราะอะไร?

ปฏิบัติการ เนื้อหาบทที่ 8 ปฏิบัติการที่ 13 เมธอด (2) หัวข้อที่ 5 (หน้า 5 – 8) ปฏิบัติการที่ 13 เมธอด (2) เข้าไปที่ webcs.mwit.ac.th การเรียนการสอน ปฏิบัติการที่ 13

Method Overloading คือ การที่เมธอดมากกว่าหนึ่งตัวที่อยู่ภายในคลาสเดียวกันมีชื่อเหมือนกัน public class Date { private int day, month, year; public Date() { day = 1; month = 1; year = 2013; } public Date(int d, int m, int y) { day = d; month = m; year = y;

Method Overloading Method overloading สามารถทำได้ถ้าหากว่ามีอย่างน้อยหนึ่งข้อต่อไปนี้เป็นจริง (1) จำนวน parameter ของเมธอดที่จะ overload นั้นไม่เท่ากัน (2) ชนิดข้อมูลของ parameter นั้นต่างกันอย่างน้อยหนึ่งตัว public class Date { private int day, month, year; public Date() { day = 1; month = 1; year = 2013; } public Date(int d, int m, int y) { day = d; month = m; year = y;

Method Overloading Method overloading สามารถทำได้ถ้าหากว่ามีอย่างน้อยหนึ่งข้อต่อไปนี้เป็นจริง (1) จำนวน parameter ของเมธอดที่จะ overload นั้นไม่เท่ากัน (2) ชนิดข้อมูลของ parameter นั้นต่างกันอย่างน้อยหนึ่งตัว public class MethodOverloading { public static int add(int x, int y) { return x+y; } public static int add(int x, int y, int z) { return x+y+z; public static double add(double x, double y) {

Method Overloading ERROR เพราะอะไร? (1) จำนวน parameter ของเมธอดที่จะ overload นั้นไม่เท่ากัน (2) ชนิดข้อมูลของ parameter นั้นต่างกันอย่างน้อยหนึ่งตัว public static int add(int x, int y) { return x+y; } public static double add(int x, int y) { return (double) x+y; ERROR เพราะอะไร?

ปฏิบัติการ เนื้อหาบทที่ 8 ปฏิบัติการที่ 14 เมธอด (3) หัวข้อที่ 6 – 7 (หน้า 8 – 10) ปฏิบัติการที่ 14 เมธอด (3) เข้าไปที่ webcs.mwit.ac.th การเรียนการสอน ปฏิบัติการที่ 14