Cơ sở của lập trình hướng đối tượng đó là các đối tượng và lớp. Đối tượng là một thực thể trong thế giới thực. Lớp mô tả đối tượng bằng ngôn ngữ lập trình. Ngược lại, một đối tượng là một sự thể hiện (instance) của lớp.
Ngôn ngữ lập trình hướng đối tượng có 4 đặc trưng cơ bản:
- Tính trìu tượng hóa dữ liệu (abstraction): là khía cạnh mà các ngôn ngữ không quan tâm đến những tiểu tiết của đối tượng. Nó chỉ tập trung vào những thứ cốt lõi của đối tượng. Tính trìu tượng còn thể hiện ở khái niệm lớp trìu tượng cơ sở.
- Tính đóng gói (encapsulation) hay tính đóng gói và che dấu thông tin (encapsulation and information hiding): là tính chất chỉ mức độ chia sẻ thông tin. Một đối tượng khác không có quyền truy cập và làm thay đổi thông tin của đối tượng nội tại, chỉ có đối tượng nội tại mới quyết định có nên thay đổi thông tin của mình hay không.
- Tính đa hình (polymorphism): là nhiều hình thái. Các đối tượng khác nhau có thể có cùng phương thức thực thi hành động, nhưng cách thức thực thi hành động đó có thể khác nhau.
- Tính thừa kế (hay kế thừa – inheritance): là tính chất cho phép các đối tượng tiếp nhận dữ liệu từ một đối tượng khác mà nó thừa kế. Nhờ vào tính thừa kế, các đối tượng có thể sử dụng các tính năng của đối tượng khác. Tính thừa kế chia làm hai loại: đơn thừa kế và đa thừa kế. Đơn thừa kế là tính chất chỉ cho phép một lớp thừa kế từ một lớp cơ sở; còn tính đa thừa kế cho phép một lớp kế thừa từ nhiều lớp cơ sở. C++ là ngôn ngữ lập trình hỗ trợ đa thừa kế.
Compile and Execute Java Online - Try and experience the best cloud computing where you can edit, compile, ... Compile Preview | Execute | Share Code.
Saturday, September 11, 2010
Subscribe to:
Post Comments (Atom)
Popular Posts
-
Announcing hspec - BDD for Haskell I've long been interested in Behavior Driven Design and it's something that is strangely missing ...
-
This tutorial will be written in Java since I'm familiar with it and it's a decent enough language, has many tools and libraries, a ...
-
More vague notes about rogulikes; this time about monster difficulty or Power Curve . In I Rule, You Rule, We All Rule Old-School Hyrule th...
-
Let's say you're a developer on a C# app and just got a batch of new requirements. Let's also say that it has a fairly simple re...
-
Bước 1 . Sử dụng ảnh rocket.psd để import vào trong dự án Flash của bạn. Xây dựng 2 layer để chứa tên lửa và phần nhiên liệu bị đốt cháy. Bư...
-
Về cơ bản, screensaver là một tập tin có khả năng tự thực thi (executable). Do đó, nó có thể phát triển bằng hầu hết các ngôn ngữ lập trình....
-
Đầu năm đầu tháng khai xuân một bài. Chúc mọi người một năm mới đầy sức khoẻ, may mắn, hạnh phúc. Mình về tết cũng rảnh đôi chút, sửa lại ch...
-
[FD's BlOg] - Adnet là một hệ thống quảng cáo trực tuyến trên nền tảng mạng Internet mà công cụ chính là các Website & Blog. Adnet ...
-
Là công cụ dùng để soạn thảo nội dung văn bản trong Flash. Hình 43 – Công cụ Text - Text ...
-
I'd like to make a post about something that I think is one of the least utilized aspects of C#: custom collection initializers. Impleme...
No comments:
Post a Comment