อะไรคือความแตกต่างระหว่าง Instance และ Object?


95

อะไรคือความแตกต่างระหว่าง Instance และ Object? มีความแตกต่างหรือไม่?


10
บางทีคุณอาจอนุมานได้จากข้อความแสดงข้อผิดพลาดที่รู้จักกันดี "การอ้างอิงวัตถุไม่ได้ตั้งค่าเป็นตัวอย่างของวัตถุ " : ->
herzmeister

จากข้อมูลจำเพาะ JVM: "ออบเจ็กต์คืออินสแตนซ์คลาสที่จัดสรรแบบไดนามิกหรืออาร์เรย์" docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html
yfklon

StackOverFlowฉันเพิ่งให้คำอธิบายสั้น ๆ เกี่ยวกับความแตกต่างระหว่างวัตถุและอินสแตนซ์ฉันหวังว่ามันจะช่วยได้
Pushkarraj Pujari

1
วัตถุเป็นตัวอย่างของการเรียน. นั่นคือทั้งหมดที่มีให้
Marquis of Lorne

คำตอบ:


59

อินสแตนซ์และวัตถุจากโปรแกรมเชิงวัตถุ

สำหรับภาษาโปรแกรมบางภาษาเช่น Java, C ++ และ Smalltalk สิ่งสำคัญคือต้องอธิบายและทำความเข้าใจโค้ด ในภาษาอื่น ๆ ที่ใช้ในการเขียนโปรแกรมแบบมีโครงสร้างไม่มีแนวคิดนี้

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

อัปเดตเกี่ยวกับ Swift นี่คือสิ่งที่ Apple ผู้คิดค้น Swift ชอบ:

อินสแตนซ์ของคลาสเป็นที่รู้จักกันในชื่อวัตถุ อย่างไรก็ตามคลาสและโครงสร้างของ Swift มีความใกล้เคียงในการทำงานมากกว่าภาษาอื่น ๆ และบทนี้ส่วนใหญ่จะอธิบายถึงฟังก์ชันการทำงานที่สามารถใช้ได้กับอินสแตนซ์ของคลาสหรือประเภทโครงสร้าง ด้วยเหตุนี้อินสแตนซ์คำทั่วไปจึงถูกใช้มากขึ้น


19

คำถามที่ยอดเยี่ยม

ฉันจะอธิบายอย่างง่ายที่สุด: สมมติว่าคุณมีแอปเปิ้ล 5 ลูกอยู่ในตะกร้า แอปเปิ้ลแต่ละชนิดเป็นวัตถุประเภทหนึ่งของ Apple ซึ่งมีลักษณะบางอย่าง (เช่นใหญ่กลมโตบนต้นไม้)

ในแง่การเขียนโปรแกรมคุณสามารถมีคลาสที่เรียกว่า Apple ซึ่งมีขนาดตัวแปร: ใหญ่รูปร่าง: กลมที่อยู่อาศัย: เติบโตบนต้นไม้ จะมี 5 แอปเปิ้ลในตะกร้าของคุณคุณต้องยกตัวอย่าง 5 แอปเปิ้ล Apple apple1, Apple apple2, Apple apple3 etc....

หรืออีกทางหนึ่ง: Objects เป็นคำจำกัดความของบางสิ่งบางอย่างอินสแตนซ์คือสิ่งที่มีอยู่จริง

สิ่งนี้สมเหตุสมผลไหม


62
มันไม่ :) "Objects are the definition of something" สิ่งที่คุณเรียกว่า object คือคลาส
T-Gergely

11

อินสแตนซ์: อินสแตนซ์หมายถึงการสร้างข้อมูลอ้างอิง (สำเนา)

วัตถุ: หมายถึงเมื่อตำแหน่งหน่วยความจำเชื่อมโยงกับวัตถุ (เป็นเอนทิตีรันไทม์ของคลาส) โดยใช้ตัวดำเนินการใหม่

กล่าวง่ายๆว่าอินสแตนซ์หมายถึงสำเนาของวัตถุในช่วงเวลาใดเวลาหนึ่งในขณะที่วัตถุหมายถึงที่อยู่หน่วยความจำของคลาส


1
การบอกว่าอินสแตนซ์เป็นการอ้างอิงถึงออบเจ็กต์ที่เคลียร์สิ่งต่างๆให้ฉัน
John C

4
@ จอห์นซีไม่ควรเพราะมันไม่ถูกต้อง วัตถุเป็นตัวอย่างของการเรียน. นั่นคือทั้งหมดที่มีให้
Marquis of Lorne

8

สมมติว่าคุณกำลังสร้างเก้าอี้

แผนภาพที่แสดงวิธีการสร้างเก้าอี้และประกอบเข้าด้วยกันสอดคล้องกับคลาสซอฟต์แวร์

สมมติว่าคุณสร้างเก้าอี้ห้าตัวตามรูปแบบในแผนภาพนั้น ในทำนองเดียวกันคุณสามารถสร้างซอฟต์แวร์ห้าชิ้นตามรูปแบบในคลาส

เก้าอี้แต่ละตัวมีหมายเลขเฉพาะที่เขียนไว้ที่ด้านล่างของที่นั่งเพื่อระบุเก้าอี้แต่ละตัว เก้าอี้ 3 เป็นหนึ่งในรูปแบบเก้าอี้ ในทำนองเดียวกันตำแหน่งหน่วยความจำ 3 สามารถมีรูปแบบซอฟต์แวร์หนึ่งอินสแตนซ์

ดังนั้นอินสแตนซ์ (เก้าอี้ 3) คือการแสดงรูปแบบเก้าอี้ที่ไม่เหมือนใคร


3
วัตถุเป็นตัวอย่างของการเรียน. อินสแตนซ์ไม่ใช่อินสแตนซ์ของวัตถุ คำตอบไม่มีความหมาย
Marquis of Lorne

1
ว้าวหลังจากเก้าปีในที่สุดก็มีคนชี้ให้เห็นข้อบกพร่องในคำอธิบายของฉัน ขอบคุณ! ดีขึ้นแล้ว?
Brian Showalter

7

วัตถุ :

มันเป็นคำทั่วไปโดยทั่วไปแล้วมันเป็นชุดซอฟต์แวร์ที่มีสถานะ (ตัวแปร) และพฤติกรรม (วิธีการ)

ชั้น :

การพิมพ์สีน้ำเงิน (เทมเพลต) สำหรับอินสแตนซ์วัตถุ - เป็นสิ่งที่ไม่ซ้ำกันเช่นคุณสร้างวัตถุสองครั้งหมายความว่าคุณได้สร้างสองอินสแตนซ์

ผมขอยกตัวอย่าง

Class student()
{
   private string firstName;
  public student(string fname)
  {
    firstName=fname;
  }
  Public string GetFirstName()
  {
    return firstName;
  }
}

ตัวอย่างวัตถุ :

นักเรียน s1 = นักเรียนใหม่ ("Martin"); นักเรียน s2 = นักเรียนใหม่ ("Kumar");

s1, s2 มีวัตถุของคลาส Student

อินสแตนซ์ :

s1 และ s2 กรณีของนักเรียนวัตถุทั้งสองจะไม่ซ้ำกัน

สามารถเรียกว่าอ้างอิงได้ด้วย

โดยพื้นฐานแล้ว s1 และ s2 เป็นตัวแปรที่กำหนดให้กับวัตถุ


1
วัตถุเป็นตัวอย่างของการเรียน.
Marquis of Lorne

7

ออบเจ็กต์และอินสแตนซ์ส่วนใหญ่เหมือนกัน แต่มีความแตกต่างเล็กน้อย ถ้าCarเป็นคลาส 3 Carวินาทีคือ 3 วัตถุที่แตกต่างกัน วัตถุทั้งหมดนี้เป็นอินสแตนซ์ ดังนั้นรถทั้ง 3 คันนี้จึงเป็นวัตถุจากอินสแตนซ์ของCarคลาส

แต่คำว่า "อินสแตนซ์" อาจหมายถึง "โครงสร้างอินสแตนซ์" ได้เช่นกัน แต่วัตถุมีไว้สำหรับคลาสเท่านั้น

วัตถุทั้งหมดเป็นอินสแตนซ์ ไม่ใช่ทุกอินสแตนซ์ที่ต้องเป็นออบเจ็กต์ อินสแตนซ์อาจเป็น "อินสแตนซ์โครงสร้าง" หรือ "ออบเจ็กต์" ฉันหวังว่านี่จะทำให้คุณเห็นความแตกต่างอย่างชัดเจน


3

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

อินสแตนซ์คือสำเนาเฉพาะของออบเจ็กต์นั้นที่คุณสามารถใช้และทำสิ่งต่างๆด้วย

ลองนึกภาพผลิตภัณฑ์เช่นคอมพิวเตอร์

เวิร์กสเตชัน xw6400 เป็นวัตถุ

เวิร์กสเตชัน xw6400 ของคุณ (หรือเวิร์กสเตชัน xw6400 ของ WIFE ของคุณ) เป็นอินสแตนซ์ของอ็อบเจ็กต์เวิร์กสเตชัน xw6400


1
ย่อหน้าแรกและที่สองของคุณอธิบายถึงคลาสไม่ใช่วัตถุ
Marquis of Lorne

2

คำตอบนี้อาจถูกมองว่าซ้ำซาก แต่การกังวลเกี่ยวกับความแตกต่างระหว่างอินสแตนซ์และอ็อบเจกต์นั้นเป็นเรื่องที่ซ้ำซากอยู่แล้ว

ฉันคิดว่าภาพที่ดีที่สุดในจาวาสคริปต์:

let obj= {"poo":1} 
// "obj" is an object

โองการ

Class Trash {
    constructor(){this.poo = 1;}
}

let i = new Trash();
// "i" is an instance

1

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


1

หากเราเห็นนิยามของวัตถุและวัตถุอินสแตนซ์ -

หน่วยความจำที่จัดสรรให้กับสมาชิกของคลาสในขณะทำงานเรียกว่า object หรือ object คืออินสแตนซ์ของ Class

ให้เราดูคำจำกัดความของอินสแตนซ์ -

หน่วยความจำที่จัดสรรสำหรับทุก ๆเวลาที่รันเรียกว่าเป็นตัวแปรอินสแตนซ์

ตอนนี้เข้าใจความหมายของใด ๆจัดสรรหน่วยความจำเวลาทำงานเกิดขึ้นใน C ยังผ่าน Malloc, calloc, Realloc เช่น:

struct p
{

}
p *t1
t1=(p) malloc(sizeof(p))

ดังนั้นที่นี่เรากำลังจัดสรรการจัดสรรหน่วยความจำเวลาทำงาน แต่ที่นี่เราเรียกว่าอินสแตนซ์ดังนั้น t1 คืออินสแตนซ์ที่นี่เราไม่สามารถพูด t1 เป็นวัตถุได้ดังนั้นทุกออบเจ็กต์คืออินสแตนซ์ของคลาส แต่ทุกอินสแตนซ์ไม่ใช่วัตถุ


มีคำตอบที่ถูกต้องซ่อนอยู่ที่นี่ที่ไหนสักแห่ง แต่ภาษาต้องการการทำความสะอาดและทำให้ง่ายขึ้น
Marquis of Lorne

1

Object - อินสแตนซ์ของคลาสที่มีสถานะเป็นของตัวเองและเข้าถึงพฤติกรรมทั้งหมดที่กำหนดโดยคลาส

อินสแตนซ์ - การอ้างอิงถึงพื้นที่หน่วยความจำสำหรับคลาสนั้น ๆ


1

ฉันไม่อยากจะเชื่อเลยนอกจากผู้ชายคนหนึ่งที่ไม่มีใครใช้รหัสนี้เพื่ออธิบายเรื่องนี้ฉันขอลองดูด้วย!

// Design Class
class HumanClass {
    var name:String
    init(name:String) {
        self.name = name
    }
}

var humanClassObject1 = HumanClass(name: "Rehan") 

ตอนนี้ด้านซ้ายคือ: "humanClassObject1" คือวัตถุและด้านขวาคือ: HumanClass (ชื่อ: "Rehan") เป็นตัวอย่างของวัตถุนี้

var humanClassObject2 = HumanClass(name: "Ahmad") // again object on left and it's instance on the right.

โดยพื้นฐานแล้วอินสแตนซ์จะมีค่าเฉพาะสำหรับอ็อบเจ็กต์นั้นและอ็อบเจ็กต์มีตำแหน่งหน่วยความจำ (ณ รันไทม์)

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

// Design Class
class HumanClass {
    var name:String // See we don't have any way to initialise name property.
}

และข้อผิดพลาดจะแสดงเฉพาะในขณะทำงานเมื่อคุณพยายามทำสิ่งนี้:

var myClass = HumanClass()
print(myClass.name) // will give, object reference not set to an instance of the object.

ข้อผิดพลาดนี้ระบุว่าค่าเฉพาะ (สำหรับตัวแปร \ คุณสมบัติ) คือ"INSTANCE"ตามที่ฉันพยายามอธิบายข้างต้นนี้! และวัตถุเช่น: "myClass" มีตำแหน่งหน่วยความจำ (ในขณะทำงาน)


1

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

Employee e; // e is an object

ในทางกลับกันเมื่อมีการประกาศตัวแปรชนิดกำหนดเองโดยใช้ตัวnewดำเนินการซึ่งจัดสรรหน่วยความจำในฮีปให้กับวัตถุนี้และส่งกลับการอ้างอิงไปยังหน่วยความจำที่จัดสรร วัตถุนี้ซึ่งเรียกว่าในขณะนี้เป็นตัวอย่าง กระบวนการนี้เรียกว่า 'Instantiation'

Employee e = new Employee(); // e is an instance

ในทางกลับกันในบางภาษาเช่น Java อ็อบเจ็กต์เทียบเท่ากับอินสแตนซ์ดังที่เห็นได้ชัดจากบรรทัดที่เขียนในเอกสารของ Oracle บน Java :

หมายเหตุ: วลี "การสร้างอินสแตนซ์คลาส" หมายถึงสิ่งเดียวกับ "การสร้างอ็อบเจกต์" เมื่อคุณสร้างอ็อบเจ็กต์คุณกำลังสร้าง "อินสแตนซ์" ของคลาสดังนั้นจึง "อินสแตนซ์" คลาส


0

แต่ละออบเจ็กต์กล่าวว่าเป็นอินสแตนซ์ของคลาส แต่อินสแตนซ์ของคลาสแต่ละตัวมีค่าของตัวเองสำหรับแต่ละอินสแตนซ์แอ็ตทริบิวต์แชร์ชื่อแอ็ตทริบิวต์และการดำเนินการกับอินสแตนซ์ของคลาส แต่อ็อบเจ็กต์มีการอ้างอิงโดยนัยถึงคลาสของเขา


0

คลาส: คลาสคือการพิมพ์สีน้ำเงิน วัตถุ: เป็นสำเนาของคลาส อินสแตนซ์: เป็นตัวแปรที่ใช้เก็บที่อยู่หน่วยความจำของวัตถุ

ตัวอย่างการวิเคราะห์ขั้นพื้นฐาน

Class House -> พิมพ์เขียวของบ้าน แต่คุณไม่สามารถอยู่ในพิมพ์สีน้ำเงิน คุณต้องมีบ้านทางกายภาพซึ่งเป็นตัวอย่างของคลาสที่จะอาศัยอยู่กล่าวคือที่อยู่จริงของวัตถุคืออินสแตนซ์ อินสแตนซ์แสดงถึงออบเจ็กต์


อินสแตนซ์หมายถึงออบเจ็กต์ไม่ใช่ตัวแปร
Marquis of Lorne

0

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

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

ยังสามารถอ่านส่วน "ชั้นใน" ของเอกสาร java นี้ในคลาสที่ซ้อนกันได้ - https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html


0

Java เป็นภาษาโปรแกรมเชิงวัตถุ (OOP) ซึ่งหมายความว่าทุกอย่างใน Java ยกเว้นประเภทดั้งเดิมเป็นวัตถุ

ตอนนี้วัตถุ Java คล้ายกับวัตถุในโลกแห่งความเป็นจริง ตัวอย่างเช่นเราสามารถสร้างวัตถุรถยนต์ใน Java ซึ่งจะมีคุณสมบัติเช่นความเร็วและสีปัจจุบัน และพฤติกรรมเช่นเร่งและจอด

ว่าวัตถุ

ป้อนคำอธิบายภาพที่นี่

ตัวอย่างเช่นในด้านอื่น ๆ Car car = new Car()ที่เป็นสำเนาเริ่มต้นได้โดยไม่ซ้ำกันของวัตถุที่มีลักษณะเหมือน

ตรวจสอบเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคลาสและอ็อบเจ็กต์ Java


วัตถุเป็นตัวอย่างของการเรียน.
Marquis of Lorne

0

คำตอบที่ง่ายและรวดเร็ว

  • คลาส : ข้อกำหนดพิมพ์เขียวสำหรับวัตถุ
  • วัตถุ : การมีอยู่ทางกายภาพของคลาสในหน่วยความจำ
  • อินสแตนซ์ : สำเนาเฉพาะของออบเจ็กต์ (โครงสร้างเดียวกันข้อมูลต่างกัน)

-1

เกี่ยวกับความแตกต่างระหว่าง an objectและinstanceฉันไม่คิดว่าจะมีความสอดคล้องกัน

สำหรับฉันแล้วดูเหมือนว่าผู้คนจะเปลี่ยนมันไปในทางเดียวกันในเอกสารโพสต์บล็อกหนังสือหรือการสนทนา

สำหรับฉันวิธีที่ฉันเห็นคือวัตถุเป็นเอนทิตีทั่วไปและมีชีวิตอยู่ในหน่วยความจำซึ่งระบุโดยภาษาที่ใช้เช่นเดียวกับObjectคลาสในJava. เราไม่สนใจประเภทของมันมากนักหรือสิ่งอื่นใดที่เกี่ยวข้องไม่ว่าจะจัดการโดยคอนเทนเนอร์หรือไม่ก็ตาม

instanceเป็นobjectแต่เกี่ยวข้องกับชนิดเช่นเดียวกับในหรือthis method accepts Foo instancesyou can not put Animal instances in an instance of a List of Vehicles

objectตัวอย่างเช่นมีlocksความเกี่ยวข้องกับพวกเขาไม่ใช่instances ในขณะที่instances มีวิธีการ objectsมีการเก็บขยะไม่instances

แต่อย่างที่บอกว่านี่เป็นเพียงวิธีที่ฉันเห็นเท่านั้นและฉันไม่คิดว่าจะมีองค์กรใดที่เราสามารถอ้างถึงคำจำกัดความมาตรฐานระหว่างพวกเขาและทุกคนจะมีความเข้าใจ / คำจำกัดความที่แตกต่างกันเล็กน้อย (แน่นอนอยู่ในขอบเขต) .


-1

วัตถุเป็นสิ่งทั่วไปตัวอย่างเช่นใช้ฟังก์ชันเชิงเส้นในคณิตศาสตร์

ax + b เป็นวัตถุในขณะที่ 3x + 2 เป็นตัวอย่างของวัตถุนั้น

วัตถุ <<< อินสแตนซ์

ทั่วไป <<< เฉพาะ

ไม่มีอะไรมากไปกว่านี้


-2

วัตถุสามารถเป็นคลาสได้เช่นคุณมีคลาสที่เรียกว่าบาสเก็ตบอล

แต่คุณต้องการมีบาสเก็ตบอลหลายตัวคุณจึงสร้างบาสเก็ตบอลมากกว่า 1 ตัวในโค้ดของคุณ

พูดว่า basketball1 และ basketball2 จากนั้นคุณเรียกใช้แอปพลิเคชันของคุณ ตอนนี้คุณมีออบเจ็กต์บาสเก็ตบอล 2 อินสแตนซ์


นั่นหมายความว่า Object เป็น Instance ของ Class Constructor หรือไม่?
streetparade

คิดว่าวัตถุนั้นเหมือนพิมพ์เขียว บอกว่าเรามีพิมพ์เขียวสำหรับบาสเก็ตบอลนั่นคือคลาส เมื่อบาสเก็ตบอลถูกสร้างและทำให้มันมีอยู่แล้วนั่นก็หมายความว่าเรามีออบเจ็กต์บาสเก็ตบอล 1 อินสแตนซ์ ถ้าเราสร้างบาสเก็ตบอลอื่นจากวัตถุ (พิมพ์เขียว) ตอนนี้เรามีบาสเก็ตบอล 2 อินสแตนซ์ มีวัตถุเพียง 1 ชิ้นเสมอ แต่เราสามารถสร้างอินสแตนซ์ของออบเจ็กต์นั้นได้หลายแบบ
Darxval

@Darxval แล้วชั้นคืออะไร
ชญานิศสิงห์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.