✨Lập trình dựa trên nguyên mẫu

Lập trình dựa trên nguyên mẫu

Lập trình dựa trên nguyên mẫu (tiếng Anh: prototype-based programming) là một kiểu lập trình hướng đối tượng, trong đó việc tái sử dụng hành vi (được gọi là kế thừa) được thực hiện thông qua quá trình tái sử dụng các đối tượng hiện có thông qua ủy quyền đóng vai trò nguyên mẫu (prototype). Mô hình này cũng có thể được gọi là lập trình nguyên mẫu, hướng mẫu, không phân lớp hoặc lập trình dựa trên thực thể. Delegation (tiếng Việt: ủy nhiệm hàm hay ủy quyền) là tính năng ngôn ngữ hỗ trợ lập trình dựa trên nguyên mẫu.

Lập trình dựa trên nguyên mẫu sử dụng các đối tượng tổng quát, sau đó có thể được nhân bản và mở rộng. Lấy trái cây làm ví dụ, một đối tượng "trái cây" sẽ đại diện cho các tính chất và chức năng của trái cây nói chung. Một đối tượng "chuối" sẽ được nhân bản từ đối tượng "trái cây" và các thuộc tính chung dành riêng cho chuối sẽ được thêm vào. Mỗi đối tượng "chuối" riêng lẻ sẽ được nhân bản từ đối tượng "chuối" chung. So sánh với mẫu hình dựa trên lớp, trong đó một lớp "trái cây" sẽ được mở rộng bởi một lớp "chuối".

Ngôn ngữ lập trình hướng nguyên mẫu đầu tiên là Self, được phát triển bởi David Ungar và [http://research.sun.com/people/randy/ Randall Smith] vào giữa những năm 1980 để nghiên cứu các chủ đề trong thiết kế ngôn ngữ hướng đối tượng. Kể từ cuối những năm 1990, các mẫu hình không lớp (classless paradigm) ngày càng trở nên phổ biến. Một số ngôn ngữ hướng nguyên mẫu hiện tại là JavaScript (và các hiện thực ECMAScript khác như JScript và Flash 's ActionScript 1.0), Lua, Cecil, NewtonScript, Io, Ioke, MOO, REBOL và AHK.

Thiết kế và hiện thực

Kế thừa nguyên mẫu trong JavaScript được Douglas Crockford mô tả là:

Ngôn ngữ hỗ trợ lập trình dựa trên nguyên mẫu

  • Actor-Based Concurrent Language (ABCL): ABCL/1, ABCL/R, ABCL/R2, ABCL/c+
  • Agora
  • AutoHotkey
  • Cecil và Diesel of Craig Chambers
  • ColdC
  • COLA
  • Common Lisp
  • ECMAScript ActionScript 1.0, used by Adobe Flash và Adobe Flex E4X JavaScript JScript
  • Io
  • Ioke
  • Lisaac
  • Logtalk
  • LPC
  • Lua
  • M2000
  • Maple
  • MOO
  • Neko
  • NewtonScript
  • Object Lisp
  • Obliq
  • Omega
  • OpenLaszlo
  • Perl, with the Class::Prototyped module
  • Python with [https://github.com/airportyh/prototype.py prototype.py].
  • R, with the proto package
  • REBOL
  • Self
  • Seph
  • SmartFrog
  • Etoys
  • TADS
  • Tcl with snit extension
  • Umajin
👁️ 1 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Lập trình dựa trên nguyên mẫu** (tiếng Anh: **prototype-based programming**) là một kiểu lập trình hướng đối tượng, trong đó việc tái sử dụng hành vi (được gọi là kế thừa) được thực hiện thông
**Lập trình dựa trên lớp** (tiếng Anh: _class-based programming_), hay thông dụng hơn **hướng lớp** (_class-orientation_), là một loại lập trình hướng đối tượng (OOP) mà tính kế thừa được xác định bằng cách định
**Lập trình hướng đối tượng** () là một mẫu hình lập trình dựa trên khái niệm "đối tượng", mà trong đó, đối tượng chứa đựng các dữ liệu trong các trường, thường được gọi là
**Ruby** là một ngôn ngữ lập trình hướng đối tượng, có khả năng phản ứng. Theo tác giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada và Lisp. Ruby cung cấp nhiều mẫu hình
Đây là danh sách các thuật ngữ tìm thấy trong lập trình hướng đối tượng. Một số có liên quan đến lập trình hướng đối tượng và một số thì không. Lưu ý rằng, các
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
**C** là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ này đã lan rộng ra nhiều
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
thumb|Các vòng lặp lên kế hoạch và phản hồi trong lập trình cực hạn **Lập trình cực hạn** (tiếng Anh: **Extreme programming**, viết tắt là **XP**) là một quy trình phát triển phần mềm nhằm
**Java** (phiên âm Tiếng Việt: "_Gia-va_") là một ngôn ngữ lập trình hướng đối tượng, dựa trên lớp được thiết kế để có càng ít phụ thuộc thực thi càng tốt. Nó là ngôn ngữ
**Quảng cáo lập trình** () là một quy trình tự động trong việc mua và bán các vị trí quảng cáo theo thời gian thực trên nền tảng kỹ thuật số và là một phần
**JavaScript**, theo phiên bản hiện hành, là một ngôn ngữ lập trình được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang web (phía người dùng)
**Python** () là ngôn ngữ lập trình bậc cao đa năng. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng thụt lề đáng kể. Python có kiểu động
**C#** (**C Sharp**, đọc là _"xi-sáp"_) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ được phát triển bởi Microsoft, C# là phần khởi đầu cho kế hoạch .NET của họ.
thumb|**[[Phép tính lambda** là một hệ thống hình thức để định nghĩa hàm, ứng dụng hàm và đệ quy được Alonzo Church đề xuất vào những năm 193x.]] **Lý thuyết ngôn ngữ lập trình** (thường
**Dylan** là một ngôn ngữ lập trình đa mẫu hình có hỗ trợ hàm, lập trình hướng đối tượng (OOP), động và phục hồi trong khi cung cấp một mô hình lập trình được thiết
là một bộ manga mạng do sáng tác và minh họa. Shūeisha phát hành tác phẩm trên nền tảng trực tuyến _Shōnen Jump+_ từ tháng 12 năm 2021 đến tháng 3 năm 2022, sau đó
**Dịch máy dựa trên ví dụ** (**EBMT**) là một phương pháp dịch tự động, thường có cơ sở dữ liệu sử dụng ngữ liệu song ngữ với các văn bản song song. Nhìn chung, đây
**Đua xe thể thao** là một hình thức đua xe đường trường, sử dụng những chiếc xe thể thao có hai chỗ ngồi và bánh xe chìm trong khung xe. Chúng có thể được xây
Bệnh viện Sản Nhi được thành lập dựa trên cơ sở là Bệnh viện Phụ sản và khoa Nhi trực thuộc Bệnh viện Đa khoa tỉnh Cà Mau. Bệnh viện Sản Nhi được thành lập
Bệnh viện Sản Nhi được thành lập dựa trên cơ sở là Bệnh viện Phụ sản và khoa Nhi trực thuộc Bệnh viện Đa khoa tỉnh Cà Mau. Bệnh viện Sản Nhi được thành lập
thumb|Minh họa mã nguồn [[Java (programming language)|Java với comment **mở đầu** được biểu thị bằng màu **đỏ** và comment **nội dòng** bằng màu **lục**. **Mã chương trình** là bằng màu **lam**.]]Trong lập
Trong trí tuệ nhân tạo, **lập trình di truyền** (_genetic programming, GP_) là một kỹ thuật tiến hóa các chương trình mà ban đầu chưa thích nghi (thường là chương trình ngẫu nhiên) cho đến
**_Mùi cỏ cháy_** (tựa tiếng Anh: **_The Scent of Burning Grass_**) là một bộ phim điện ảnh Việt Nam thuộc thể loại tâm lý xã hội và chiến tranh công chiếu vào năm 2012. Bối
Sữa rửa mặt làm sạch và trắng da L’Oreal thuộc dòng sản phẩm dưỡng trắng White Perfect, được nghiên cứu bởi viện nghiên cứu L'oreal Paris sẽ là lựa chọn đúng đắn để nuôi dưỡng
**Gecko** là một bộ máy trình bày được phát triển bởi Mozilla. Nó được sử dụng trong trình duyệt Firefox, email client Thunderbird và nhiều dự án khác Gecko được thiết kế để hỗ trợ
**AJAX** (tiếng Anh: "Asynchronous JavaScript and XML" - nghĩa là "JavaScript và XML không đồng bộ") là một nhóm các công nghệ phát triển web được sử dụng để tạo các ứng dụng web động
**Chromium** là một trình duyệt web mã nguồn mở, là nền tảng để xây dựng nên Google Chrome. Những phần do Google viết nên được phát hành theo giấy phép BSD, còn những phần khác
Dầu tẩy trang Sakura Cleansing Oil từ NhậtDầu tẩy trang Sakura Cleansing Oillà sự kết hợp của 14 loại tinh dầu thảo mộc thiên nhiên, được nghiên cứu và sản xuất theo tiêu chuẩn Nhật
Giường kéo giãn cột sống bằng cơ học, hoạt động dựa trên phương pháp kéo giãn cột sốnglà phương pháp không dùng thuốc duy nhất có khả năng điều trị nguyên nhân thoát vị đĩa
Giường kéo giãn cột sống bằng cơ học, hoạt động dựa trên phương pháp kéo giãn cột sốnglà phương pháp không dùng thuốc duy nhất có khả năng điều trị nguyên nhân thoát vị đĩa
Trong khoa học máy tính, **đèn báo** là một biến được bảo vệ hoặc một kiểu dữ liệu trừu tượng tạo ra sự trừu tượng hoá đơn giản nhưng hữu dụng để kiểm soát truy
**Microsoft Windows Logo** (viết tắt: **MSWLogo** hay ****) là một ngôn ngữ lập trình dựa trên ngôn ngữ Logo, với Front- End GUI. Nó được phát triển bởi George Mills tại Viện Công nghệ Massachusetts
Phấn nền dạng nén L'Oreal True Match Two Way Powder Foundation được nghiên cứu bởi viện nghiên cứu L'OREAL Paris của thương hiệu Mỹ Phẩm L'OREAL mang đến cho bạn trải nghiệm trang điểm hoàn
GIƯỜNG KÉO GIÃN CỘT SỐNG CƠ HỌCGiường kéo giãn cột sống cơ học, hoạt động dựa trên phương pháp kéo dãn cột sống là phương pháp không dùng dược phẩm duy nhất có khả năng
Phấn nền dạng nén L'Oreal True Match Two Way Powder Foundation được nghiên cứu bởi viện nghiên cứu L'OREAL Paris của thương hiệu Mỹ Phẩm L'OREAL mang đến cho bạn trải nghiệm trang điểm hoàn
Phấn nền dạng nén L'Oreal True Match Two Way Powder Foundation được nghiên cứu bởi viện nghiên cứu L'OREAL Paris của thương hiệu Mỹ Phẩm L'OREAL mang đến cho bạn trải nghiệm trang điểm hoàn
là một bộ manga Nhật Bản được viết lời và minh họa bởi Oshimi Shūzō. Nó được đăng theo kỳ trên _Bessatsu Shōnen Magazine_ của Kodansha từ ngày 9 tháng 9 năm 2009 đến ngày
**SQL** (, hoặc ; viết tắt của **Structured Query Language**), dịch là _Ngôn ngữ truy vấn mang tính cấu trúc_, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ
frame|236x236px Trong sinh học phân tử, **quá trình nhân đôi DNA** là một cơ chế sao chép các phân tử DNA xoắn kép trước mỗi lần phân bào. Kết quả của quá trình này là
Shop xin giới thiệu đến bạn sản phẩm chỉ với 15 phút mỗingày Máy massage chữ C giúp bạn thư giãn và thoải mái hơn. Khác với các loại massage cầm tay, thì Máy Massage
**Giao dịch dựa trên quét** (**SBT**) là quá trình các nhà cung cấp duy trì quyền sở hữu hàng tồn kho trong kho hoặc cửa hàng của nhà bán lẻ cho đến khi các mặt
**Những đứa con nhà họ Kiều** (, tiếng Anh: **_The Bond_**) là một bộ phim truyền hình dài tập Trung Quốc năm 2021 dựa trên tiểu thuyết cùng tên của Vị Tịch, đạo diễn bởi
MÔ TẢ SẢN PHẨMVới hơn 50 năm dẫn đầu ngành hàng chăm sóc da trên toàn cầu, trong năm 2019, lần đầu tiên L’Oréal Paris giới thiệu đột phá trong ngành hàng chăm sóc da
Mô tả sản phẩm Máy Bấm Huyệt, Massage Cổ Vai Gáy được phát triển dựa trên nguyên lý về các đường kinh mạch của Y học cổ truyền Trung Hoa. Sinh điện, vật lý và
Mô tả sản phẩm Máy Massage Bấm Huyệt được phát triển dựa trên nguyên lý về các đường kinh mạch của Y học cổ truyền Trung Hoa. Sinh điện, vật lý và kỹ thuật vi
Ai cũng biết đông trùng hạ thảo là một loại “tiên dược” của chốn nhân gian với vô vàn những lợi ích đối với sức khỏe. Thế nhưng, đã ai biết tác dụng của đông
**_Hoắc Nguyên Giáp_** (chữ Hán: 霍元甲 - _Huo Yuanjia_, tựa tiếng Anh: **_Fearless_** - **_Jet Li's Fearless_**) là một bộ phim hành động - võ thuật của Trung Quốc và Hồng Kông năm 2006 do
**Trịnh Tùng** (chữ Hán: 鄭松, 19 tháng 12 năm 1550 – 17 tháng 7 năm 1623), thụy hiệu **Thành Tổ Triết Vương** (成祖哲王), là vị chúa chính thức đầu tiên của dòng họ Trịnh dưới
**Chúa Nguyễn** (chữ Nôm: ; chữ Hán: / **Nguyễn vương**) (1558-1777, 1780-1802) là tên gọi dùng để chỉ người đứng đầu, cai trị xứ Đàng Trong, tức dải đất từ Thuận Hóa (phía nam đèo