OOP PROGRAMMING

Aj.Krit Th.

Python Coding

IDE (จัดเตรียมพื้นที่สำหรับเขียนภาษาไพทอน)

Python OOP

พิจารณาโค้ดต่อไปนี้

s = input('ขอชื่อคุณหน่อย? ')

print(f"สวัสดี {s}")

ปรับโค้ดด้านบนให้ถามชื่อ 2 ครั้ง

s = input('ขอชื่อคุณหน่อย? ')
print(f"สวัสดี {s}")

s = input('ขอชื่อคุณหน่อย? ')
print(f"สวัสดี {s}")

Python OOP

ปรับใช้งานฟังก์ชั่น

def sayHello(name):
	return print(f"สวัสดี {name}")

s = input('ขอชื่อคุณหน่อย? ')
sayHello(s)

s = input('ขอชื่อคุณหน่อย? ')
sayHello(s)

ถ้าจะสร้าง app ใหม่ ต้องทำยังไง ?

Python OOP

ลองใช้ OOP . .

class sayHello:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print (f"Hello {self.name}")

s = input('ขอชื่อคุณหน่อย? ')
obj = sayHello(s)
obj.greet()

Python OOP

เรียกใช้ OOP ให้ยืดหยุ่น . .

โฟลเดอร์ (Folder)

ไฟล์ *.py
(Python File)

Python OOP

hello.py

class sayHello:
    def __init__(self, name):
        self.name = name

    def greet(self):
        return f"Hello {self.name}"
from mylib.hello import sayHello

s = input('ขอชื่อคุณหน่อย? ')
obj = sayHello(s)
print(obj.greet())

app.py

Python OOP

สร้างไฟล์ app2.py

from mylib.hello import sayHello

s = input('ขอชื่อคุณหน่อย? ')
obj = sayHello(s)
print(obj.greet())

ไม่ต้องเขียน Class sayHello ใหม่

Objected-Oriented Programming

  • Act as a  program
    การทำงานแบ่งเป็นวัตถุที่อิสระต่อกัน

  • Operate on its own data
    แต่ละวัตถุ มีการใช้งานข้อมูลของตนเองและเป็นอิสระ

  • Interacts with other objects
    แต่ละวัตถุสามารถสามารถสื่อสาร แลกเปลี่ยนข้อมูลกันได้

1980

Object-oriented programming

Objects (อ็อบเจค -- วัตถุ)

  • วัตถุแสดงถึงสิ่งของ เช่นเดียวกับในชีวิตจริง

  • ยกตัวอย่างเช่น ลูกกอล์ฟ หรือรถยนต์

Objects (อ็อบเจค -- วัตถุ)

  • Object มี Property (คุณสมบัติ)

  • Property ได้แก่ คุณลักษณะของวัตถุ เช่นลูกกอล์ฟ:

position

speed

acceleration

color

weight

price

The golden dog barks

property

object

behavior

คำนาม

คำกิริยา

คำคุณศัพท์

Class (คลาส)

  • ยกตัวอย่างเช่น ต้องการใช้งาน "รถยนต์" ในโปรแกรม

  • Class ที่จะเรียกใช้งาน รถยนต์ จะทำหน้าที่เป็นพิมพ์เขียวที่กำหนดว่า รถยนต์จะมีหน้าตาเป็นอย่างไร และทำอะไรได้บ้าง

  • Class ดังกล่าวจะต้องบอกได้ว่ารถยนต์มีคุณสมบัติ:

properties

  1. ยี่ห้อ

  2. สี

  3. ราคา

Class (คลาส)

  • รถยนต์ สามารถ เดินหน้า ถอยหลัง หันซ้าย และหันขวา

actions

  1. เดินหน้า

  2. ถอยหลัง

  3. หันซ้าย

  4. หันขวา

ฺBrand: Lamborghini

Color: Red

Price: 24,000,000

ฺBrand: Toyota

Color: White

Price: 1,400,000

ฺBrand: Volkswagen

Color: Yellow

Price: 1,500,000

Class

Objects (Instaces)

Attributes

Python OOP

hello.py

class sayHello:
    def __init__(self, name):
        self.name = name

    def greet(self):
        return f"Hello {self.name}"
from mylib.hello import sayHello

s = input('ขอชื่อคุณหน่อย? ')
obj = sayHello(s)
print(obj.greet())

app.py

คลาส (Class)

เมธ็อด

(Method)

อ็อบเจ็ค
(Object)

© Aj. Krit Th.

https://www.kritth.com

31910-2005-oop-202502-wk2-python-oop

By Krit Th.

31910-2005-oop-202502-wk2-python-oop

  • 53