การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ

Slides:



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

Object-Oriented Programming IUP02 At Exceep camp.
AVL Tree.
05_3_Constructor.
Object-Oriented Programming
Object Oriented Programing
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
ครั้งที่ 7 Composition.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
การสืบทอด (Inheritance)
LOGO Array. ประเภทของ Array - อาเรย์ 1 มิติ (One) - อาเรย์ 2 มิติ (Two) - อาเรย์ 3 มิติ (Three) 2.
คลาสและวัตถุ (2) (Class & Object)
คลาสและวัตถุ (3) (Class & Object)
คลาสและวัตถุ (2) (Class & Object)
บทที่ 4 Method (1).
การสืบทอดคุณสมบัติ (Inheritance)
OOP (Object-Oriented Programming)
C# Programming Exceed Camp: Day 3.
Generalization & Specialization
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
JAVA PROGRAMMING PART IV.
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Thread
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
Object Oriented Programming Handling Exceptions
Method of Class อ.สุพจน์ สิงหัษฐิต
Object-Oriented Programming
Advanced Class Design in Java Java Packages Week #6 Jarungjit Parnjai
Java collection framework
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
Object-Oriented Programming
chapter 2 - Construction and destruction - Overloading method
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
Chapter 6 Abstract Class and Interface
การวนซ้ำโดยใช้โครงสร้าง for
Java Network Programming – Network Operating Systems and Protocols Choopan Rattanapoka.
Timed Math Quiz. โปรแกรมสุ่มคำนวณเลขแข่งกับ เวลา.
ฟังก์ชันในภาษา C. ฟังก์ชัน (Functions) 2 การออกแบบโปรแกรมในภาษาซี จะอยู่บนพื้นฐานของการออกแบบ โมดูล (Module Design) โดยการแบ่ง โปรแกรมออกเป็นงานย่อย ๆ.
การเขียนโปรแกรมบนมาตรฐานเปิด โครงสร้างโปรแกรม public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello World”);
Object and classes.
การประมวลผลแบบวน ( LOOP )
Basic Java Programming
Inheritance and Method Overriding
Object-Oriented Programming Paradigm
Class Diagram.
UML (Unified Modeling Language)
Abstract Class and Interface
บทที่ 7 ตัวแปรและการจัดการข้อมูล
Java Translation Object and Class ในมุมมองคอมพิวเตอร์ Objects หรือ Instances หมายถึงวัตถุที่กำเนิดตัวตนจริงๆจากต้นแบบที่กำหนดโดยคลาส Object.
Object-Oriented Analysis and Design
Method and Encapsulation
Inheritance Chapter 07.
Overload Method and Poly Morphism
Data Structures and Algorithms 2/2561
Computer Game Programming
Class Inheritance and Interfaces.
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
ฟังก์ชันของโปรแกรม Computer Game Programming
โครงสร้างของโปรแกรมเกมคอมพิวเตอร์
Class Diagram.
การประชุมคณะทำงานการจัดการพลังงาน อาคาร บก. ทท
ฟังก์ชันของโปรแกรม ฟังก์ชันในโปรแกรม (โปรแกรมภาษา C#) มีฟังก์ชันให้ใช้งานอยู่หลากหลายฟังก์ชัน โดยมีรูปแบบเฉพาะ และการเข้าถึงที่มีลักษณะแตกต่างกัน ในบทนี้จะแสดงเนื้อหาในการใช้งานของฟังก์ชันต่างๆ.
Computer Game Programming
ใบสำเนางานนำเสนอ:

การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ การเขียนโปรแกรมคอมพิวเตอร์แบบภาษาเชิงวัตถุ เป็นการเขียนโปรแกรมเพื่อให้สามารถใช้องค์ประกอบหรือการทำงานร่วมกัน แบ่งออกเป็นส่วนๆ สามารถใช้คุณสมบัติที่มีการพัฒนามาแล้ว เริ่มต้นผู้สนใจควรศึกษาถึงโครงสร้าง นิยาม ความหมาย ของภาษาเชิงวัตถุ

ประกอบด้วย พื้นฐานโปรแกรมคอมพิวเตอร์แบบภาษาเชิงวัตถุ ประโยชน์ของโปรแกรมคอมพิวเตอร์แบบภาษาเชิงวัตถุ การประยุกต์ใช้งานโปรแกรมเกมแบบภาษาเชิงวัตถุ

พื้นฐานโปรแกรมคอมพิวเตอร์แบบภาษาเชิงวัตถุ โปรแกรมแบบภาษาเชิงวัตถุ เป็นการนำ“วัตถุ” (object) มาประกอบกันเป็นโปรแกรมคอมพิวเตอร์ กำหนดให้องค์ประกอบในโปรแกรมคอมพิวเตอร์เป็นวัตถุ มีคุณสมบัติต่างๆ เพื่อใช้ในการประมวลผลและสามารถทำงานร่วมกับวัตถุอื่นๆ ได้ มีการสื่อสารกันได้

คลาส(class) คลาส(class) เปรียบเสมือนแม่พิมพ์บอกลักษณะ ว่าวัตถุในคลาสนี้มีลักษณะและพฤติกรรมเป็น อย่างไร ภายในคลาสประกอบด้วย แอททริบิวท์ (Attribute) หรือข้อมูล (Data) เป็นสิ่งที่ใช้บอกถึง ลักษณะต่างๆของวัตถุในคลาสเมธอด(Method) หรือพฤติกรรม (Behavior) เป็นสิ่งที่ใช้อธิบายการ ทำงานของวัตถุในคลาส Class Attribute หรือ Data Method หรือ Behavior

คลาส(class) คลาสเปรียบเสมือนโปรแกรมที่เขียนขึ้นเพื่อ ทำหน้าที่เป็นพิมพ์เขียวของวัตถุ(object)การสร้าง วัตถุจากคลาสเรียกว่าการทำ instantiation ผลลัพธ์ที่ ได้คือ instance ของวัตถุ เรียก object หนึ่ง object ว่า หนึ่ง instance สามารถสร้าง object ได้หลายๆ instance จากคลาสเพียงคลาสเดียว ส่วนในภาษา C# หาก สร้างคลาสหนึ่งคลาส ยกตัวอย่างเช่น สร้างคลาส ขึ้นมาเพื่อนิยาม node หลังจากนั้น สามารถเขียน โปรแกรมคอมพิวเตอร์สร้าง binary tree ขณะทำงาน อาจจะสร้าง object จากคลาส node ได้หลายล้าน instance ภายในหนึ่งวินาที เป็นต้น

คลาส(class) Class: Player Object: Player1 Object: Player2

คลาส(class) โครงสร้างรูปแบบของการสร้างคลาส การใช้งานคลาสในโปรแกรม คอมพิวเตอร์แบบภาษาเชิงวัตถุ สามารถทำได้ดังนี้คือ 1) ทำการสร้าง object และใช้ งานคลาสผ่าน object 2) การเรียกใช้งานโดยตรงโดย ไม่ต้องสร้าง object เรียกวิธีนี้ว่า static class Class ชื่อคลาส { method1(){ //วิธีการทำงาน } method2(){ attribute1; attribute2;

คลาส(class) วิธีการเข้าถึงหรือใช้ตัวแปร (Variable) หรือ ฟังก์ชัน (Function) สามารถ ประกาศการเข้าถึง ได้ดังนี้ - public คือ เมื่อประกาศตัวแปรหรือฟังก์ชันจะสามารถถูกอ้างถึงได้ ทั้งหมด ทั้งภายในหรือภายนอกคลาส - protected คือ จะถูกอ้างถึงได้เฉพาะในคลาสเดียวกันหรือคลาสลูก (คลาสที่มีการขยาย extend หรือสืบทอด inherit มาจากคลาสอื่น) - private คือ เมื่อประกาศตัวแปรหรือฟังก์ชันจะสามารถใช้อ้างได้ ภายในเฉพาะคลาสตัวเองเท่านั้น - static จะถูกอ้างถึงได้โดยมีเงื่อนไขดังนี้ เมธอดที่เป็น staticเช่น คลาส in สามารถเรียกได้เฉพาะเมธอดในคลาสเดียวกันที่เป็น staticเท่านั้น เมธ อดที่เป็น static จะถูกเรียกจากที่อื่นโดยอ้างผ่านทางชื่อคลาสได้ทันที ซึ่ง ต่างกับเมธอดตรงที่ไม่เป็นstaticที่ต้องมีการสร้าง instanceก่อน

ตัวอย่างโปรแกรมเกมคอมพิวเตอร์ในการกำหนดการเข้าถึง using UnityEngine; using System.Collections;   public class ScopeAndAccessModifiers : MonoBehaviour { public int alpha = 5; private int beta = 0; private int gam = 5; private AnotherClass myOtherClass; void Start () alpha = 29; myOtherClass = new AnotherClass(); myOtherClass.Fruitchine(alpha, myOtherClass.apples); }

ตัวอย่างโปรแกรมเกมคอมพิวเตอร์ในการกำหนดการเข้าถึง   void Example (int pens, int crayons) { int answer; answer = pens * crayons * alpha; Debug.Log(answer); } void Update () Debug.Log("Alpha is set to: " + alpha);

ประโยชน์ของโปรแกรมคอมพิวเตอร์แบบภาษาเชิงวัตถุ โปรแกรมคอมพิวเตอร์แบบภาษาเชิงวัตถุ มีประโยชน์ในการนำวัตถุ(object) ที่อยู่ในโปรแกรมคอมพิวเตอร์ที่พัฒนาแบบภาษาเชิงวัตถุ สามารถนำมาใช้ร่วมกันได้ สามารถทำการสืบทอดคลาส เป็นการสร้างสิ่งใหม่ขึ้นด้วยการสืบทอดหรือรับเอาคุณสมบัติบางอย่างมาจากสิ่งเดิมที่มีอยู่แล้วและสร้างเพิ่มเติมอีกได้ ทำให้ผู้พัฒนาโปรแกรมคอมพิวเตอร์ไม่ต้องเริ่มใหม่ทั้งหมด การสร้างคลาสใหม่โดยการสืบทอดมาจากคลาสเก่า มีวิธีการดังนี้ 1) สร้างคลาสใหม่ซึ่งสืบทอดมากจากคลาสเก่า เรียก คลาสใหม่ ว่าเป็น ซับคลาส ของ คลาสเก่า และ เรียก คลาสเก่า ว่าเป็น ซุปเปอร์คลาส ของคลาสใหม่ 2) วัตถุของคลาสใหม่ มาจากคลาสเก่า แต่วัตถุทั้งหมดของคลาสเก่าไม่จำเป็นต้องเป็นของคลาสใหม่

ตัวอย่างโปรแกรมคอมพิวเตอร์แสดงวิธีการสืบทอดคลาสที่มีชื่อว่า nager มาจากคลาสที่มีชื่อว่า Employee   public class nager : Employee { // Employee fields, properties, methods and events are inherited // New nager fields, properties, methods and events go here... }

ประโยชน์อื่นๆ ของการเขียนโปรแกรมคอมพิวเตอร์แบบภาษาเชิงวัตถุ 1) การลดระยะเวลาในการพัฒนาโปรแกรมคอมพิวเตอร์โดยสามารถนำโค้ดโปรแกรมที่พัฒนาไว้อยู่มาใช้ งานร่วมกัน 2) การนำเอาโปรแกรมคอมพิวเตอร์ที่พัฒนาอยู่มาใช้งาน(reuse-ability) 3) การพัฒนาต่อยอดจากวัตถุ(object) ที่มีอยู่แล้ว 4) การดูแลแก้ไขทำได้ง่าย สามารถทำการแก้ไขเฉพาะ object ที่ต้องการเท่านั้น จะไม่กระทบต่อส่วนอื่นๆ ของโปรแกรมที่พัฒนาขึ้น 5) การพัฒนาแบบภาษาเชิงวัตถุ มีความเหมาะสมสำหรับระบบที่มีความซับซ้อน 6) การพัฒนาแบบภาษาเชิงวัตถุสามารถใช้คำหรือชื่อ ต่างๆ ที่มีอยู่ในระบบงานมาใช้ในการออกแบบ โปรแกรม ทำให้เกิดความเข้าใจง่ายขึ้น 7) การพัฒนาแบบภาษาเชิงวัตถุมีความยืดหยุ่น สามารถปรับเปลี่ยนการทำงานของเดิมที่มีอยู่แล้วได้โดยไม่ ต้องแก้ไขโปรแกรมคอมพิวเตอร์เดิม

ใบงาน ให้นักศึกษาแบ่งกลุ่มละ 2-3 คน อธิบายการ พัฒนาโปรแกรมคอมพิวเตอร์แบบภาษาเชิงวัตถุ พร้อมยกตัวอย่างประกอบ และนำเสนอหน้าชั้น เรียน

ข้อมูลพื้นฐานในระบบ 2 มิติ และ 3 มิติ มิติ ความหมายโดยทั่วไปหมายถึง สิ่งที่บอกคุณสมบัติของวัตถุ ได้แก่ ความกว้าง ความยาว และ ความสูง ส่วนในทางคณิตศาสตร์ มิติ หมายถึงจำนวนตัวเลขที่ต้องการเพื่อระบุตำแหน่งและคุณสมบัติของวัตถุใด ๆ ในปริภูมิ ในศาสตร์ต่าง ๆ อาจนิยามความหมายของคำว่า มิติ แทนจำนวนพารามิเตอร์ที่เกี่ยวข้อง เช่น ต้นทุน และ ราคา ในทางเศรษฐศาสตร์ ตัวอย่างในทางภูมิศาสตร์เช่น จุดบนพื้นผิวโลก สามารถกำหนดได้โดยตัวเลขค่าละติจูดและลองจิจูด ทำให้ แผนที่ดังกล่าวมีสองมิติ (ถึงแม้ว่าโลกจะมีรูปร่างเกือบทรงกลมซึ่งมีสามมิติก็ตาม) ในการกำหนดตำแหน่ง เครื่องบินหรืออากาศยานอื่น นอกจากละติจูดและลองจิจูดแล้ว ยังมีอีกตัวแปรหนึ่งคือค่า ความสูงจากพื้นดิน ทำให้พิกัดของเครื่องบิน เป็นสามมิติ เวลา สามารถใช้เป็นมิติที่สามหรือที่สี่ (เพิ่มจากพื้นที่สองหรือสามมิติเดิม) ในการกำหนดตำแหน่งได้

มิติในทางคณิตศาสตร์และฟิสิกส์ ศูนย์มิติ:  จุด  ปริภูมิช่องว่างศูนย์มิติ ในทางคณิตศาสตร์, ทอพอโลยี  จำนวนเต็ม หนึ่งมิติ:  เส้น  กราฟ  จำนวนจริง สองมิติ:  จำนวนเชิงซ้อน  ระบบพิกัดคาร์ทีเซียน (ระบบพิกัดสี่เหลี่ยมผืนผ้า)  ยูนิฟอร์ม ไทลิ่ง ในคณิตศาสตร์, เรขาคณิตยูคลิด  พื้นผิว ในทางคณิตศาสตร์, ทอพอโลยี

มิติในทางคณิตศาสตร์และฟิสิกส์ สามมิติ:  ทรงตันเพลโต (ทรงนูนหลายหน้าปรกติ), เรขาคณิต Ph สเตอริโอสโคปี (ภาพ 3 มิติ) Ph มุมของออยเลอร์ (ทรงตันในอุดมคติ)  ช่องว่าง 3 มิติ ในคณิตศาสตร์นามธรรม, ทอพอโลยี  ปม ในทางคณิตศาสตร์ สี่มิติ: Ph,  ปริภูมิ-เวลา (ทฤษฎีสัมพัทธภาพ) Ph,  เทสเซอแรคต์ (ช่องว่าง 4 มิติ; มิติที่ 4 ของอวกาศ)  พอลิโครอน (พอลิโทป 4 มิติ) คณิตศาสตร์, ทอพอโลยี  ควอเทอร์เนียน (จำนวนเชิงซ้อน ในคณิตศาสตร์ทฤษฎีจำนวน)  ช่องว่าง 4 มิติ ในคณิตศาสตร์นามธรรม, ทอพอโลยี

มิติในทางคณิตศาสตร์และฟิสิกส์ มิติที่สูงขึ้นไปในทางคณิตศาสตร์:  ออคโตเนียน (จำนวนจริงและพีชคณิต)  เวกเตอร์  ช่องว่าง (ช่องว่างในทางคณิตศาสตร์นามธรรม)  ช่องว่างคาลาไบ-หยู มิติที่สูงขึ้นไปในทางฟิสิกส์: Ph ทฤษฎีคาลูซ่า-ไคลน์ (แรงพื้นฐานของแรงโน้มถ่วง, แรงแม่เหล็กไฟฟ้า) Ph ทฤษฎีสตริง (ฟิสิกส์ทฤษฎีและคณิตศาสตร์ฟิสิกส์) Ph ทฤษฎีเอ็ม (ฟิสิกส์ทฤษฎี) มิติที่ไม่มีที่สิ้นสุด (มิติที่เป็นอนันต์) : Ph ช่องว่างของฮิลแบร์ท  ช่องว่างฟังก์ชัน