title: Melanoxanthus decemnotatus

text:
Melanoxanthus decemnotatus là một loài bọ cánh cứng trong họ Elateridae. Loài này được Candèze miêu tả khoa học năm 1878.

Chú thích

Tham khảo

Melanoxanthus


title: Lập trình hướng đối tượng

text:
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, trên các trường, thường được gọi là các thuộc tính; và mã nguồn, được tổ chức thành các phương thức. Phương thức giúp cho đối tượng có thể truy xuất và hiệu chỉnh các trường dữ liệu của đối tượng khác, mà đối tượng hiện tại có tương tác (đối tượng được hỗ trợ các phương thức "this" hoặc "self"). Trong lập trình hướng đối tượng, chương trình máy tính được thiết kế bằng cách tách nó ra khỏi phạm vi các đối tượng tương tác với nhau. Ngôn ngữ lập trình hướng đối tượng khá đa dạng, phần lớn là các ngôn ngữ lập trình theo lớp, nghĩa là các đối tượng trong các ngôn ngữ này được xem như thực thể của một lớp, được dùng để định nghĩa một kiểu dữ liệu.

OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn. Ngoài ra, nhiều người còn cho rằng OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các phương pháp trước đó. Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập trình, cho phép họ tạo ra các ứng dụng mà các yếu tố bên ngoài có thể tương tác với các chương trình đó giống như là tương tác với các đối tượng vật lý.

Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà chúng được nhìn nhận như là một đơn vị duy nhất. Mỗi đối tượng có một tên riêng biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua tên của nó. Như vậy, mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữ liệu (bên trong của nó), và gửi ra hay trả lời đến các đối tượng khác hay đến môi trường.

Đa phần các ngôn ngữ lập trình thông dụng nhất hiện nay (như C++, Delphi, Java, Python, v.v...) là các ngôn ngữ lập trình đa mẫu hình và đều hỗ trợ lập trình hướng đối tượng ở nhiều mức độ khác nhau, thường được kết hợp với lập trình mệnh lệnh, lập trình thủ tục. Các ngôn ngữ lập trình hướng đối tượng đáng chú ý gồm có Java, C++, C#, Python, PHP, Ruby, Perl, Object Pascal, Objective-C, Dart, Swift, Scala, Common Lisp, và Smalltalk.

Các tính chất cơ bản
Đối tượng (object): Các dữ liệu và chỉ thị được kết hợp vào một đơn vị đầy đủ tạo nên một đối tượng. Đơn vị này tương đương với một chương trình con và vì thế các đối tượng sẽ được chia thành hai bộ phận chính: phần các phương thức (method) và phần các thuộc tính (attribute / properties). Trong thực tế, các phương thức của đối tượng là các hàm và các thuộc tính của nó là các biến, các tham số hay hằng nội tại của một đối tượng (hay nói cách khác tập hợp các dữ liệu nội tại tạo thành thuộc tính của đối tượng). Các phương thức là phương tiện để sử dụng một đối tượng trong khi các thuộc tính sẽ mô tả đối tượng có những tính chất gì.Các phương thức và các thuộc tính thường gắn chặt với thực tế các đặc tính và sử dụng của một đối tượng.Trong thực tế, các đối tượng thường được trừu tượng hóa qua việc định nghĩa của các lớp (class).Tập hợp các giá trị hiện có của các thuộc tính tạo nên trạng thái của một đối tượng.Mỗi phương thức hay mỗi dữ liệu nội tại cùng với các tính chất được định nghĩa (bởi người lập trình) được xem là một đặc tính riêng của đối tượng. Nếu không có gì lầm lẫn thì tập hợp các đặc tính này gọi chung là đặc tính của đối tượng.
Lập trình hướng đối tượng là một phương pháp lập trình có 4 tính chất chính sau:
 Tính trừu tượng (abstraction): Đây là khả năng của chương trình bỏ qua hay không chú ý đến một số khía cạnh của thông tin mà nó đang trực tiếp làm việc lên, nghĩa là nó có khả năng tập trung vào những cốt lõi cần thiết. Mỗi đối tượng phục vụ như là một "động tử" có thể hoàn tất các công việc một cách nội bộ, báo cáo, thay đổi trạng thái của nó và liên lạc với các đối tượng khác mà không cần cho biết làm cách nào đối tượng tiến hành được các thao tác. Tính chất này thường được gọi là sự trừu tượng của dữ liệu. Tính trừu tượng còn thể hiện qua việc một đối tượng ban đầu có thể có một số đặc điểm chung cho nhiều đối tượng khác như là sự mở rộng của nó nhưng bản thân đối tượng ban đầu này có thể không có các biện pháp thi hành. Tính trừu tượng này thường được xác định trong khái niệm gọi là lớp trừu tượng hay lớp cơ sở trừu tượng.
 Tính đóng gói (encapsulation) và che giấu thông tin (information hiding): Tính chất này không cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại của một đối tượng. Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó. Việc cho phép môi trường bên ngoài tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người viết mã. Đây là tính chất đảm bảo sự toàn vẹn của đối tượng.
 Tính đa hình (polymorphism): Thể hiện thông qua việc gửi các thông điệp (message). Việc gửi các thông điệp này có thể so sánh như việc gọi các hàm bên trong của một đối tượng. Các phương thức dùng trả lời cho một thông điệp sẽ tùy theo đối tượng mà thông điệp đó được gửi tới sẽ có phản ứng khác nhau. Người lập trình có thể định nghĩa một đặc tính (chẳng hạn thông qua tên của các phương thức) cho một loạt các đối tượng gần nhau nhưng khi thi hành thì dùng cùng một tên gọi mà sự thi hành của mỗi đối tượng sẽ tự động xảy ra tương ứng theo đặc tính của từng đối tượng mà không bị nhầm lẫn.
Ví dụ khi định nghĩa hai đối tượng "hinh_vuong" và "hinh_tron" thì có một phương thức chung là "chu_vi". Khi gọi phương thức này thì nếu đối tượng là "hinh_vuong" nó sẽ tính theo công thức khác với khi đối tượng là "hinh_tron".

 Tính kế thừa (inheritance): Đặc tính này cho phép một đối tượng có thể có sẵn các đặc tính mà đối tượng khác đã có thông qua kế thừa. Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại. Tuy nhiên, không phải ngôn ngữ định hướng đối tượng nào cũng có tính chất này.

Một điểm mới về mẫu hình, về quan điểm
OOP vẫn còn là một đề tài của nhiều tranh cãi về định nghĩa chuẩn xác hay về các nguyên lý của nó.

Trong dạng tổng quát nhất, OOP được hiểu theo cách là một loại thực nghiệm viết chương trình văn bản được phân cấp ra thành nhiều mô đun (module), mà mỗi mô đun đóng vai như một lớp vỏ che đại diện cho mỗi kiểu dữ liệu.

Những khái niệm liên hệ đã được góp nhặt lại để tạo thành một khuôn khổ cho việc lập trình. Các triết lý đằng sau việc định hướng đối tượng đã trở nên mạnh mẽ để tạo thành một sự chuyển đổi mẫu hình trong ngành lập trình.

Những mẫu hình khác như lập trình chức năng và lập trình thủ tục tập trung chủ yếu trên các hành động, còn lập trình lô gíc lại tập trung vào những khẳng định hợp lý để kích hoạt sự thực thi của mã chương trình.

OOP đã phát triển một cách độc lập từ việc nghiên cứu về các ngôn ngữ định hướng của hệ thống mô phỏng, đó là SIMULA 67, và từ việc nghiên cứu các kiến trúc của hệ thống có độ tin cậy cao, đó là các kiến trúc CPU và khả năng cơ bản của các hệ điều hành.

Một chức năng đặc sắc của OOP là việc xử lý các kiểu con của các kiểu dữ liệu.

Dữ liệu của các đối tượng, một cách tổng quát, được đòi hỏi trong thiết kế để thỏa mãn các yêu cầu của người lập trình (tức là các lớp).

Các kiểu dữ liệu bị giới hạn thêm các điều kiện mặc dù có cùng kiểu dữ liệu với loại không bị ràng buộc bởi các điều kiện đó, gọi là kiểu dữ liệu con. Cả hai loại kiểu dữ liệu này đều dựa vào và đều được điều tiết bởi các hành xử (tức là các phương thức) đã được định nghĩa. Các điều kiện hay yêu cầu này có thể được khai báo rõ ràng hay được giả thiết công nhận ngầm bởi người lập trình. Các ngôn ngữ định hướng đối tượng cung cấp nhiều cơ chế cho việc khẳng định rằng các giả thiết đó có tính địa phương cho một phần của chương trình. Các cơ chế này này có thể đọc thấy trong các tài liệu về các chương trình định hướng đối tượng.

OOP tự nó đã đang được dùng để khuyến mãi cho nhiều sản phẩm và dịch vụ. Các định nghĩa hiện tại và ích lợi của các đặc tính của OOP thường được màu mè hóa bởi các mục đích của thị trường thương mại. Tương tự, nhiều ngôn ngữ lập trình có những quan điểm đặc biệt về OOP mà nó ít tổng quát trong một số khía cạnh.

Các định nghĩa chính xác của OOP sẽ có sự khác biệt tùy theo quan điểm. Đặc biệt, các ngôn ngữ có kiểu tĩnh thường có cái nhìn hơi khác với các ngôn ngữ có kiểu động về OOP, nguyên do là vì chúng tập trung trên thời gian dịch hay tập trung vào thời gian thi hành của các chương trình.

OOP thường được xem là một mẫu hình hơn là một kiểu hay một phong cách lập trình nhằm nhấn mạnh vào điểm quan trọng là OOP có thể thay đổi phương thức phát triển phần mềm bằng cách thay đổi tư duy của những người lập trình và những kỹ sư phần mềm về phần mềm.

Mẫu hình của OOP chủ yếu không phải là kiểu lập trình mà là kiểu thiết kế. Một hệ thống được thiết kế bởi định nghĩa của các đối tượng mà các đối tượng này sẽ tồn tại trong hệ thống đó, trong mã mà hiện làm việc chưa tương thích với đối tượng, hay là trong người dùng đối tượng do ảnh hưởng của tính chất đóng của đối tượng.

Cũng nên lưu ý rằng có sự khác biệt giữa mẫu hình định hướng đối tượng và lý thuyết các hệ thống. OOP tập trung trên các đối tượng như là các đơn vị của một hệ thống, trong khi đó, lý thuyết các hệ thống lại tự nó chỉ tập trung vào hệ thống. Như là phần trung gian, người ta có thể tìm thấy các dạng thức thiết kế phần mềm hay các kỹ thuật khác dùng các lớp và các đối tượng như là các viên gạch trong những thành phần lớn hơn. Những thành phần này có thể được xem như là bước trung gian từ mẫu hình định hướng đối tượng đến các mô hình "định hướng sống thực" hơn của lý thuyết các hệ thống.

Các mẫu hình định hướng đối tượng con
Có nhiều phong cách lập trình hướng đối tượng. Sự khác nhau giữa các phong cách này là tùy theo việc các ngôn ngữ lập trình chú trọng vào khía cạnh nào của sự thuận lợi của định hướng đối tượng và vào việc kết hợp các cấu trúc trong các phương cách khác nhau.

OOP với các ngôn ngữ cấu trúc
Trong các ngôn ngữ cấu trúc, OOP thường xuất hiện như là một dạng mà ở đó các kiểu dữ liệu được mở rộng để hành xử giống như là một kiểu của một đối tượng trong OOP, hoàn toàn tương tự cho một kiểu dữ liệu trừu tượng với sự mở rộng như là sự kế thừa. Mỗi phương pháp thực ra là một chương trình con, một cách cú pháp, giới hạn nội trong một lớp.

Các mô hình nguyên mẫu cơ bản
Khác với cách sử dụng lớp, nguyên mẫu là một mô hình khác ít được biết đến hơn, nó có ý nghĩa đạt tới việc chia sẻ ứng xử theo định hướng đối tượng. Sau khi đối tượng được định nghĩa, một đối tượng khác tương tự sẽ được định nghĩa từ đối tượng ban đầu. Ngôn ngữ nguyên mẫu cơ bản được biết đến nhiều nhất là JavaScript mà đây là một sự thiết lập của ECMAScript. Self, một ngôn ngữ lập trình được phát triển bởi Sun Microsystems cũng là một ví dụ của ngôn ngữ dùng nguyên mẫu cho việc chia sẻ ứng xử chứ không dùng sự phân lớp. NewtonScript, Act1, Io và Delegation là các ví dụ khác. Đặc biệt, Hybrid và Exemplars sử dụng cả hai mô hình nguyên mẫu và phân lớp. Trong các hệ thống nguyên mẫu, các đối tượng tự chúng là các khuôn thức (template), trong khi các hệ thống phân lớp dùng các lớp như là các khuôn thức cho các đối tượng.

Các tiếp cận kiểu phân lớp thì chiếm đa số trong OOP mà nhiều người sẽ định nghĩa các đối tượng như là có tính chất đóng mà việc chia sẻ dữ liệu xảy ra bởi sự phân lớp và bởi tính kế thừa. Mặc dù vậy, khái niệm tổng quát hơn "chia sẻ ứng xử" được công nhận như là các kỹ thuật thay thế (như trường hợp nguyên mẫu).

(Xem thêm Lập trình nguyên mẫu cơ bản)

Mô hình đối tượng cơ bản
Lập trình hướng đối tượng cơ bản là trung tâm về việc tạo thành của các đối tượng và các tương tác của chúng, nhưng có thể sẽ thiếu đi một số chức năng quan trọng của mẫu hình định hướng đối tượng lớp cơ bản như là tính kế thừa. Những hệ thống đối tượng cơ bản như vậy thường không được xem như là định hướng đối tượng vì đổi tính kế thừa một cách điển hình là một yếu tố cốt lõi của OOP.
Ví dụ của trường hợp này là ngôn ngữ Visual Basic với các phiên bản 6.0 hay nhỏ hơn.

Định nghĩa chuẩn
Đã có nhiều nỗ lực để chuẩn hóa các khái niệm được dùng trong lập trình định hướng đối tượng. Những khái niệm và các kết cấu sau đây đã được suy diễn như là các khái niệm của OOP:
 Các kiểu dữ liệu đồng đại số
 Các lượng tồn tại và các mô đun
 Đệ quy
 Các bản và việc mở rộng bản
 Đa hình biên F

Các nỗ lực tìm một định nghĩa thống nhất hay lý thuyết đứng sau các đối tượng đã không mấy thành công và thường bị phân hóa nặng. Ví dụ, một số định nghĩa thì tập trung lên các hoạt động tinh thần trong khi số khác lại ngả về việc cấu trúc chương trình. Một trong các định nghĩa đơn giản hơn cho rằng OOP là một hành xử của việc sử dụng các biểu đồ cấu trúc dữ liệu hay sử dụng các dãy mà có thể chứa các hàm và các con trỏ sang các biểu đồ khác. Sự kế thừa có thể tiến hành bởi nhân bản các biểu đồ này (mà đôi khi gọi là "nguyên bản hóa").

OOP trong văn lệnh
Trong những năm gần đây, lập trình đối tượng cơ bản đã đặc biệt trở nên phổ biến trong các ngôn ngữ lập trình văn lệnh vì chúng có tính trừu tượng, tính đóng, khả năng tái sử dụng, và dễ sử dụng (trong khi khả năng kế thừa trong các ngôn ngữ này vẫn còn là các câu hỏi chưa có câu trả lời). Smalltalk có thể là ngôn ngữ đầu tiên có kiểu như trên, Python và Ruby là các ngôn ngữ tương đối mới và được xây dựng từ đầu với ý tưởng OOP, trong khi đó ngôn ngữ văn lệnh Perl đã đang được từ từ thêm vào các chức năng mới về định hướng đối tượng kể từ phiên bản 5. Khả năng của các đối tượng để thể hiện "thế giới thực" là một lý do cho sự phổ biến của JavaScript và ECMAScript, mà được bàn cãi là thích hợp để đại diện cho DOM của các hồ sơ HTML và XML trên Internet.

Ví dụ mã nguồn trong C++

Lưu ý:
 Ví dụ trên được viết trong C++ có thể dùng bất kì trình dịch nào để dịch thẳng ra tập tin thực thi. Cụ thể là dùng Borland C++ cho Windows hay dùng g++ cho Linux.
 Các dòng màu đen là mã nguồn, các dòng màu khác là các dòng giải thích ý nghĩa sử dụng của OOP.
 Đòi hỏi người đọc biết ít nhiều cách dùng về ngôn ngữ lập trình và trình dịch.
 Bản thân các lớp khi khai báo vẫn có tính trừu tượng. Nghĩa là, nó không sử dụng trực tiếp được (mà chỉ có thể xem là các kiểu dữ liệu). Chỉ khi nào người dùng thực hiện động tác thực thể hóa (instantiate) thì lớp này mới khởi động và tạo thành một đối tượng thực. Trong ví dụ này thì câu lệnh Inherit1 boy; và câu lệnh Inherit2 girl; là hai câu lệnh để thực thể hóa thành hai đối tượng boy và girl.
 Sự hỗ trợ các loại đặc tính cho OOP trong C++ rất phong phú. Ví dụ chỉ nhằm minh họa các tính chất cơ bản của OOP.

Một số khái niệm cần biết trong ngôn ngữ OOP hiện đại
Hiện nay các ngôn ngữ OOP phổ biến nhất đều tập trung theo phương pháp phân lớp trong đó có C++, Java, C# và Visual Basic.NET. Ngôn ngữ OOP hay còn gọi là ngôn ngữ lập trình hướng đối tượng, là một phương pháp thiết kế và phát triển phần mềm dựa trên kiến trúc lớp và đối tượng. Sau đây là một số khái niệm mà các ngôn ngữ này thường dùng tới.

Lớp (class)
Một lớp có thể được hiểu là khuôn mẫu để tạo ra các đối tượng. Trong một lớp, người ta thường dùng các biến để mô tả các thuộc tính và các hàm để mô tả các phương thức của đối tượng. Khi đã định nghĩa được lớp, ta có thể tạo ra các đối tượng từ lớp này. Để việc sử dụng được dễ dàng, thông qua hệ thống hàm tạo (constructor), người ta dùng lớp như một kiểu dữ liệu để tạo ra các đối tượng.
cc

Lớp con (subclass)
Lớp con là một lớp thông thường nhưng có thêm tính chất kế thừa một phần hay toàn bộ các đặc tính của một lớp khác. Lớp chia sẻ sự kế thừa gọi là lớp cha (parent class/superclass).

Lớp trừu tượng hay lớp cơ sở trừu tượng (abstract class)
Lớp trừu tượng là một lớp mà nó không thể thực thể hóa thành một đối tượng thực dụng được. Lớp này được thiết kế nhằm tạo ra một lớp có các đặc tính tổng quát nhưng bản thân lớp đó chưa có ý nghĩa (hay không đủ ý nghĩa) để có thể tiến hành viết mã cho việc thực thể hóa. (xem Ví dụ)
Ví dụ: Lớp "hinh" được định nghĩa không có dữ liệu nội tại và chỉ có các phương thức (hàm nội tại) "tinh_chu_vi", "tinh_dien_tich". Nhưng vì lớp hình này chưa xác định được đầy đủ các đặc tính của nó (cụ thể các biến nội tại là tọa độ các đỉnh nếu là đa giác, là đường bán kính và toạ độ tâm nếu là hình tròn,...) nên nó chỉ có thể được viết thành một lớp trừu tượng. Sau đó, người lập trình có thể tạo ra các lớp con chẳng hạn như là lớp "tam_giac", lớp "hinh_tron", lớp "tu_giac", v.v... Và trong các lớp con này người viết mã sẽ cung cấp các dữ liệu nội tại (như là biến nội tại r làm bán kính và hằng số nội tại Pi cho lớp "hinh_tron" và sau đó viết mã cụ thể cho các phương thức "tinh_chu_vi" và "tinh_dien_tich").

Phương thức (method)
Phương thức của một lớp thường được dùng để mô tả các hành vi của đối tượng (hoặc của lớp). Ví dụ như đối tượng thuộc lớp điện thoại có các hành vi sau: Đổ chuông, chuyển tín hiệu từ sóng sang dạng nghe được, chuyển tín hiệu giọng nói sang dạng chuẩn, chuyển tín hiệu lên tổng đài.v.v. Khi thiết kế, người ta có thể dùng các phương thức để mô tả và thực hiện các hành vi của đối tượng. Mỗi phương thức thường được định nghĩa là một hàm, các thao tác để thực hiện hành vi đó được viết tại nội dung của hàm. Khi thực hiện hành vi này, đối tượng có thể phải thực hiện các hành vi khác. Ví dụ như điện thoại phải chuyển tín hiệu giọng nói sang dạng chuẩn trước khi chuyển lên tổng đài. Cho nên một phương thức trong một lớp có thể sử dụng phương thức khác trong quá trình thực hiện hành vi của mình.

Người ta còn định nghĩa thêm vài loại phương thức đặc biệt:
 Hàm tạo (constructor) là hàm được dùng để tạo ra một đối tượng, cài đặt các giá trị ban đầu cho các thuộc tính của đối tượng đó.
 Hàm hủy (destructor) là hàm dùng vào việc làm sạch bộ nhớ đã dùng để lưu đối tượng và hủy bỏ tên của một đối tượng sau khi đã dùng xong, trong đó có thể bao gồm cả việc xóa các con trỏ nội tại và trả về các phần bộ nhớ mà đối tượng đã dùng.
Nhiều lớp thư viện có sẵn hàm tạo mặc định (thông thường không có tham số) và hàm huỷ.

Thuộc tính (attribute)
Thuộc tính của một lớp bao gồm các biến, các hằng, hay tham số nội tại của lớp đó. Ở đây, vai trò quan trọng nhất của các thuộc tính là các biến vì chúng sẽ có thể bị thay đổi trong suốt quá trình hoạt động của một đối tượng. Các thuộc tính có thể được xác định kiểu và kiểu của chúng có thể là các kiểu dữ liệu cổ điển hay đó là một lớp đã định nghĩa từ trước. Như đã ghi, khi một lớp đã được thực thể hoá thành đối tượng cụ thể thì tập hợp các giá trị của các biến nội tại làm thành trạng thái của đối tượng. Giống như trường hợp của phương thức, tùy theo người viết mã, biến nội tại có thể chỉ được dùng bên trong các phương thức của chính lớp đó, có thể cho phép các câu lệnh bên ngoài lớp, hay chỉ cho phép các lớp có quan hệ đặc biệt như là quan hệ lớp con, (và quan hệ bạn bè (friend) trong C++) được phép dùng tới nó (hay thay đổi giá trị của nó). Mỗi thuộc tính của một lớp còn được gọi là thành viên dữ liệu của lớp đó.

Quan hệ giữa lớp và đối tượng
Lớp trong quan niệm thông thường là cách phân loại các thực thể dựa trên những đặc điểm chung của các thực thể đó. Do đó lớp là khái niệm mang tính trừu tượng hóa rất cao. Ví dụ như lớp "người" dùng để chỉ những thực thể sống trên Trái Đất có những thuộc tính: có hai chân, hai bàn tay khéo léo, có tư duy, ngôn ngữ v.v và có phương thức: giao tiếp bằng ngôn ngữ, tư duy, đi, đứng bằng hai chân, v.v... Khi đó hai người cụ thể ông A, ông B là các đối tượng thuộc lớp người. Trong ngôn ngữ lập trình, ta cũng hiểu khái niệm lớp tương tự, cho nên ta có quá trình "Thực thể hóa" sau, tạo một đối tượng thuộc một lớp đã được ta định nghĩa (phân loại).

Thực thể (instance)
Thực thể hóa (instantiate) là quá trình khai báo để có một tên (có thể được xem như là một biến) trở thành một đối tượng từ một lớp nào đó.

Một lớp sau khi được tiến hành thực thể hóa để có một đối tượng cụ thể gọi là một thực thể. Hay nói ngược lại một thực thể là một đối tượng riêng lẻ của một lớp đã định trước. Như các biến thông thường, hai thực thể của cùng một lớp có thể có trạng thái nội tại khác nhau (xác định bởi các giá trị hiện có của các biến nội tại) và do đó hoàn toàn độc lập nhau nếu không có yêu cầu gì đặc biệt từ người lập trình. Thực thể hóa: gần giống như cá nhân hóa. Một lớp khi được "cá nhân hóa" sẽ thành một đối tượng cụ thể.

Công cộng (public)
Công cộng là một tính chất được dùng để gán cho các phương thức, các biến nội tại, hay các lớp mà khi khai báo thì người lập trình đã cho phép các câu lệnh bên ngoài cũng như các đối tượng khác được phép dùng đến nó.
Ví dụ: Trong C++ khai báo public: int my_var; thì biến my_var có hai tính chất là tính công cộng và là một integer cả hai tính chất này hợp thành đặc tính của biến my_var khiến nó có thể được sử dụng hay thay đổi giá trị của nó (bởi các câu lệnh) ở mọi nơi bên ngoài lẫn bên trong của lớp.

Riêng tư (private)
Riêng tư là sự thể hiện tính chất đóng mạnh nhất (của một đặc tính hay một lớp). Khi dùng tính chất này gán cho một biến, một phương thức thì biến hay phương thức đó chỉ có thể được sử dụng bên trong của lớp mà chúng được định nghĩa. Mọi nỗ lực dùng trực tiếp đến chúng từ bên ngoài qua các câu lệnh hay từ các lớp con sẽ bị phủ nhận hay bị lỗi.

Bảo tồn (protected)
Tùy theo ngôn ngữ, sẽ có vài điểm nhỏ khác nhau về cách hiểu tính chất này. Nhìn chung đây là tính chất mà khi dùng để áp dụng cho các phương thức, các biến nội tại, hay các lớp thì chỉ có trong nội bộ của lớp đó hay các lớp con của nó (hay trong nội bộ một gói như trong Java) được phép gọi đến hay dùng đến các phương pháp, biến hay lớp đó.

So với tính chất riêng tư thì tính bảo tồn rộng rãi hơn về nghĩa chia sẻ dữ liệu hay chức năng. Nó cho phép một số trường hợp được dùng tới các đặc tính của một lớp (từ một lớp con chẳng hạn).

Lưu ý: Các tính chất công cộng, riêng tư và bảo tồn đôi khi còn được dùng để chỉ thị cho một lớp con cách thức kế thừa một lớp cha như trong C++.

Đa kế thừa (multiple inheritance)
Đây là một tính chất cho phép một lớp con có khả năng kế thừa trực tiếp cùng lúc nhiều lớp khác.

Vài điểm cần lưu ý khi viết mã dùng tính chất đa kế thừa:
 Khi muốn có một sự kế thừa từ nhiều lớp cha thì các lớp này cần phải độc lập và đặc biệt tên của các dữ liệu hay hàm cho phép kế thừa phải có tên khác nhau để tránh lỗi "ambiguity". Bởi vì lúc đó trình dịch sẽ không thể xác định được là lớp con sẽ thừa kế tên nào của các lớp cha.
 Nhiều ngôn ngữ, ví dụ như Java, không có đa kế thừa, nhưng chúng có khái niệm giao diện Interface. Với Interface, ta có thể có hầu hết các lợi ích mà đa kế thừa mang lại.
Ngoài các khái niệm trên, tùy theo ngôn ngữ, có thể sẽ có các chức năng OOP riêng biệt được cấp thêm vào.

Lịch sử
Khái niệm về các đối tượng và thực thể trong khoa học máy tính được nhiều người biết đến từ hệ thống PDP-1 của MIT. Đây có lẽ là Ví dụ sớm nhất của kiến trúc cơ sở có khả năng thực. Một bằng chứng sớm khác của OOP được tìm thấy qua Sketchpad viết bởi Ivan Sutherland trong năm 1963, tuy nhiên, đây chỉ là một ứng dụng chứ không là một mẫu hình lập trình.

Ngôn ngữ lập trình hướng đối tượng đầu tiên là Simula, ngôn ngữ này được thiết kế để dùng trong các việc mô phỏng, được sáng tạo bởi Ole-Johan Dahl và Kristen Nygaard thuộc Trung tâm Máy tính Na Uy ở Oslo. Các kiến thức trong ngôn ngữ này sau đó đã được dùng trong nhiều ngôn ngữ khác, bắt đầu từ Lisp và Pascal cho đến họ ngôn ngữ Smalltalk.

Lập trình hướng đối tượng đã được phát triển như là phương pháp lập trình chủ đạo từ giữa thập niên 1990 nguyên do đáng kể là việc ảnh hưởng của C++, một ngôn ngữ mở rộng của C. Địa vị thống trị của OOP đã được củng cố vững chắc bởi sự phổ biến của các GUI dành cho ngôn ngữ lập trình hướng đối tượng ngày càng tiện lợi. Một Ví dụ về quan hệ gần gũi của thư viện GUI động và ngôn ngữ OOP là phần mềm Cocoa, nó là khung cơ sở của Mac OS X dược viết bằng Objective C (Objective C là một loại ngôn ngữ hướng đối tượng mở rộng của C với việc thông báo động). Công cụ cho OOP cũng được nâng cao phần "lập trình điều khiển theo sự kiện" (mặc dù khái niệm này không chỉ dành cho OOP).

Tại Zürich, Niklaus Wirth và những cộng sự đã theo dõi các đề tài như là dữ liệu trừu tượng và lập trình mô đun. Modula-2 bao gồm cả hai đặc tính đó. Thiết kế liền tiếp theo là Oberon bao gồm sự tiếp cận riêng biệt với việc định hướng đối tượng, các lớp,... Sự tiếp cận này không như Smalltalk, và cũng khác hẳn C++.

Các chức năng của hướng đối tượng cũng đã đang được thêm vào nhiều ngôn ngữ trong suốt thời gian đó kể cả Ada, BASIC, Lisp, Fortran, Pascal và nhiều nữa. Việc cộng thêm các chức năng đó cho các ngôn ngữ mà được trước đó không chủ định thiết kế cho chúng ngay từ đầu cũng thường dẫn tới nhiều khó khăn trong khả năng tương thích (với mã nguồn viết cho các phiên bản cũ) và khả năng bảo trì mã. Điển hình của trường hợp này là Pascal và Visual Basic. Các ngôn ngữ thuần túy hướng đối tượng, ở phía khác, lại thiếu các đặc tính mà nhiều người lập trình phụ thuộc vào. Để bắc cầu cho khoảng trống này, nhiều nỗ lực đã được xúc tiến để tạo ra các ngôn ngữ đặt cơ sở trên các phương pháp hướng đối tượng nhưng lại cho phép dùng nhiều đặc tính lập trình cấu trúc theo những phương cách "an toàn". Ngôn ngữ Eiffel của Bertrand Meyer đã sớm thành công với các mục tiêu này.

Trong thập niên đã qua, Java được dùng rộng rãi một phần là do sự tương tự với C và C++, nhưng có lẽ do phần khác quan trọng hơn là việc lắp đặt sử dụng máy ảo mà chủ ý là thực thi cùng một mã nguồn cho nhiều nền tảng khác nhau. .NET của Microsoft cũng mở đầu với các chủ ý tương tự và cộng thêm việc hỗ trợ nhiều ngôn ngữ hay các sự biến thể của các ngôn ngữ cũ (như trường hợp C# và Visual Basic).

Gần đây, một số ngôn ngữ xuất hiện với chức năng chính là định hướng đối tượng nhưng lại tương thích được với phương pháp thủ tục như là Python và Ruby. Bên cạnh Java, C# và Visual Basic.NET là hai ngôn ngữ OOP quan trọng hiện tại thiết kế bởi Microsoft.

Giống như lập trình thủ tục đã dẫn tới việc tinh lọc các kỹ thuật như là lập trình cấu trúc, phần mềm hướng đối tượng hiện đại thiết kế các phương pháp bao gồm các sự tinh lọc. Chẳng hạn như là việc ứng dụng các dạng thức thiết kế, thiết kế bởi hợp đồng và các ngôn ngữ mô hình trong đó có UML.

Các ngôn ngữ
Bài chính: Ngôn ngữ lập trình hướng đối tượng

 C#
 C++
 Common Lisp Object System
 Eiffel
 Fortran 2003
 Java
 Objective-C
 OCaml
 Object Pascal
 Pascal
 Perl
 PHP
 Python
 Ruby
 Simula
 Sleep
 Smalltalk
 Ada
 Visual FoxPro
 Actionscript
 Visual Basic
Swift

Đọc thêm
 Grady Booch: Object-Oriented Analysis and Design with Applications, Addison-Wesley, ISBN 0-8053-5340-2
 Alan Kay: The Early History of Smalltalk
 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns: Elements of Reusable Object Oriented Software, Addison-Wesley, ISBN 0-201-63361-2
 Bertrand Meyer: Object-Oriented Software Construction, Prentice Hall, ISBN 0-13-629155-4
 James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen: Object-Oriented Modeling and Design, Prentice Hall, ISBN 0-13-629841-9
 Ivar Jacobson: Object-Oriented Software Engineering: A Use Case-Driven Approach, Addison-Wesley, ISBN 0-201-54435-0
 Harold Abelson, Gerald Jay Sussman, Julie Sussman: Structure and Interpretation of Computer Programs, The MIT Press, ISBN 0-262-01153-0
 Martin Abadi, Luca Cardelli: A Theory of Objects, Springer-Verlag, ISBN 0-387-94775-2
 Paul Harmon, William Morrissey: The Object Technology Casebook - Lessons from Award-Winning Business Applications, John Wiley & Sons, ISBN 0-471-14717-6
 David A. Taylor: Object-Oriented Information Systems - Planning and Implementation, John Wiley & Sons, ISBN 0-471-54364-0
 Peter Eeles, Oliver Sims: Building Business Objects, John Wiley & Sons, ISBN 0-471-19176-0

Các bài liên hệ

 Object-oriented programming language
 Aspect-oriented programming
 Programming paradigm
 Software componentry
 Interface description language
 Distributed programming
 List of object-oriented programming terms
 Design pattern (computer science)
 Refactoring
 CORBA
 Globus
 DCOM
 Glossary of object-oriented programming

Tham khảo

Liên kết ngoài
 Introduction to OOP
 Introduction to Object-Oriented Programming
 Structured Programming vs Object-Oriented Programming
 Object-oriented programming FAQ
 Example of the subtyping problem
 What are OOP's Jargons and Complexities
 Object-Oriented Design Principles
 The report "Object Orientation Redefined"  outlines how OO has been considered a thinking tool, i.e. "we view the world in objects", and how such an approach may further our understanding of object-oriented formalization.

Các phê phán
 Criticism of OOP
 Objects Have Failed
 Arguments Against OOP (C2 wiki discussion)
 Why Paul Graham is Creating a New Language Without OOP

Lập trình hướng đối tượng
Mẫu hình lập trình


title: Santa Ana, Cáceres

text:
Santa Ana, Cáceres là một đô thị trong tỉnh Cáceres, cộng đồng tự trị Extremadura Tây Ban Nha. Đô thị này có diện tích là ki-lô-mét vuông, dân số năm 2007 là người với mật độ người/km². Đô thị này có cự ly km so với tỉnh lỵ Cáceres.

Tham khảo

Đô thị ở Cáceres


title: USS Ticonderoga

text:
Năm tàu chiến của Hải quân Hoa Kỳ từng được đặt tên USS Ticonderoga ghi nhớ việc chiếm được Đồn Ticonderoga vào ngày 10 tháng 5 năm 1775 bởi Ethan Allen:

 USS Ticongeroga (1814) là một tàu hai buồm (schooner) 17 khẩu pháo thuộc Phân hạm đội của Thiếu tướng Hải quân Thomas Macdonough đã chiến thắng trong Trận chiến hồ Champlain vào ngày 11 tháng 9 năm 1814. Nó phục vụ từ năm 1814 đến năm 1825.
 USS Ticongeroga (1862) là một tàu xà-lúp phục vụ từ năm 1863 đến năm 1881, nổi bật trong cuộc Nội chiến Hoa Kỳ.
 USS Ticongeroga (1918), nguyên là một tàu hàng của Đức đã hoạt động cho Dịch vụ Vận chuyển Hải quân Nước ngoài trong các năm 1917 và 1918.
 USS Ticongeroga (CV-14), một tàu sân bay lớp Essex thân dài phục vụ từ năm 1944 đến năm 1973
 USS Ticongeroga (CG-47), chiếc dẫn đầu của lớp tàu tuần dương tên lửa điều khiển Ticongeroga, hạ thủy năm 1981, ngừng hoạt động năm 2004

Hư cấu trong văn hóa đại chúng:
 USS Ticonderoga (CVN-87), một tàu sân bay ngầm trong thế giới hư cấu của Rifts.
 USS Ticonderoga NCC-74676 là một câu lạc bộ hâm mộ Star Trek tại Utah.
 Một căn cứ hạm đội hư cấu trong bộ phim Starship Troopers năm 1997.
 Một tàu không gian hư cấu thuộc lớp Proxima trong trò chơi video Star Trek: Legacy dành cho các hệ máy PC và Xbox 360.

Tham khảo

Tên gọi tàu chiến Hải quân Hoa Kỳ

ru:Тикондерога


title: Sicyopus axilimentus

text:
Sicyopus auxilimentus là một loài cá thuộc họ Gobiidae. Nó là loài đặc hữu của Philippines.

Nguồn
 Kottelat, M. 1996. Sicyopus axilimentus. 2006 IUCN Red List of Threatened Species.  Truy cập ngày 5 tháng 8 năm 2007.

Tham khảo

Sicyopus
Cá nước ngọt Philippines


title: Trichilia discolor

text:
Trichilia discolor là một loài thực vật thuộc họ Meliaceae. Đây là loài đặc hữu của Brasil. Chúng hiện đang bị đe dọa vì mất môi trường sống.

Chú thích

Tham khảo

 Pires O'Brien, J. 1998. Trichilia discolor. 2006 IUCN Red List of Threatened Species.  Truy cập 23 tháng 8 năm 2007.

Thực vật Brasil
Trichilia


title: Mallerius brasiliensis

text:
Mallerius brasiliensis là một loài bọ cánh cứng trong họ Elateridae. Loài này được Fleutiaux miêu tả khoa học năm 1933.

Chú thích

Tham khảo

Mallerius


title: Stein, Plön

text:
Stein là một đô thị thuộc huyện Plön, bang Schleswig-Holstein, Đức.

Tham khảo

Xã và đô thị ở huyện Plön


title: Vesvres-sous-Chalancey

text:
Vesvres-sous-Chalancey là một xã thuộc tỉnh Haute-Marne trong vùng Grand Est đông bắc nước Pháp. Xã này nằm ở khu vực có độ cao trung bình 415 mét trên mực nước biển.

Tham khảo

Vesvressouschalancey


title: Walk the Line

text:
Walk the Line là một bộ phim điện ảnh ca nhạc đề tài chính kịch lãng mạn và tiểu sử của Mỹ công chiếu năm 2005, do James Mangold làm đạo diễn. Kịch bản phim được chắp bút bởi Mangold và Gill Dennis, dựa trên hai cuốn tự truyện của ca sĩ kiêm sáng tác nhạc Johnny Cash là Man in Black: His Own Story in His Own Words (1975) và Cash: The Autobiography (1997). Nội dung phim xoay quanh những năm đầu đời của Cash, mối tình với June Carter và bước thăng tiến của ông trong sự nghiệp nhạc đồng quê. Phim có sự tham gia diễn xuất của Joaquin Phoenix vai Cash, Reese Witherspoon vai Carter, Ginnifer Goodwin vai người vợ đầu của Cash và Robert Patrick vai cha của Cash.

Walk the Line ra mắt tại Liên hoan phim Telluride vào ngày 4 tháng 9 năm 2005 và được phát hành mở rộng vào ngày 18 tháng 11. Phim giành 5 đề cử Oscar tại lễ trao giải lần thứ 78, trong đó có chiến thắng cho Witherspoon ở hạng mục nữ diễn viên chính xuất sắc nhất, cùng các đề cử của Phoenix (nam diễn viên chính xuất sắc nhất) và Arianne Phillips (Thiết kế phục trang đẹp nhất). Phim thu về hơn 186 triệu USD trên toàn thế giới.

Phân vai

Giải thưởng

Chú thích

Liên kết ngoài
Official website

Comparison inbetween the original theatrical release and the extended cut

Phim tiểu sử
Phim Mỹ
Phim năm 2005
Phim chính kịch Mỹ
Phim giành Giải Quả cầu vàng cho phim ca nhạc hoặc phim hài hay nhất
Phim lấy bối cảnh ở thập niên 1940
Phim lấy bối cảnh ở thập niên 1950
Phim lấy bối cảnh ở thập niên 1960
Phim lấy bối cảnh ở thập niên 1970
Phim chính kịch thập niên 2000
Phim tiếng Anh
Phim của 20th Century Fox
Phim lấy bối cảnh ở California
Phim tiểu sử của Mỹ


title: Achaea argilla

text:
Achaea argilla là một loài bướm đêm thuộc họ Erebidae. Nó được tìm thấy ở nửa phía bắc của Úc, đặc biệt ở những vùng đất liền khô hơn.

Sải cánh dài khoảng 50 mm. Cánh trước có kiểu mẫu màu nâu mờ. Cánh sau màu đen có các đốm màu trắng chạy dọc theo rìa.

Ấu trùng ăn Breynia oblongifolia và Euphorbia.

Hình ảnh

Liên kết ngoài
 Australian Faunal Directory
 Australian Insects

Chú thích

Achaea (bướm đêm)


title: Semiotus anthracinus

text:
Semiotus anthracinus là một loài bọ cánh cứng trong họ Elateridae. Loài này được Szombathy miêu tả khoa học năm 1909.

Chú thích

Tham khảo

Semiotus


title: Song quắn hình trâm

text:
Song quắn hình trâm (danh pháp khoa học: Heliciopsis lanceolata) là một loài thực vật thuộc họ Proteaceae. Loài này có ở Indonesia và Malaysia. Chúng hiện đang bị đe dọa vì mất môi trường sống.

Chú thích

Tham khảo
 World Conservation Monitoring Centre 1998. Heliciopsis lanceolata. 2006 IUCN Red List of Threatened Species.  Truy cập 21 tháng 8 năm 2007.

Heliciopsis


title: Hypotrix ferricola

text:
Hypotrix ferricola là một loài bướm đêm thuộc họ Noctuidae. Nó được tìm thấy ở tây nam Arizona, tây nam New Mexico và miền bắc México.

Most records are from ponderosa pine forests.

Con trưởng thành bay từ đầu tháng 4 đến đầu tháng 8 possibly representing several generations.

Liên kết ngoài
A revision of the genus Hypotrix Guenée in Bắc Mỹ with descriptions of four new species và a new genus (Lepidoptera, Noctuidae, Noctuinae, Eriopygini)
Images

Chú thích

Hypotrix
Động vật được mô tả năm 1905


title: Cesana Brianza

text:
Cesana Brianza là một đô thị trong tỉnh Lecco, trong vùng Lombardia của Ý, cự ly khoảng 40 km về phía bắc của Milan và khoảng 9 km về phía tây nam của Lecco. Tại thời điểm ngày 31 tháng 12 năm 2004, đô thị này có dân số 2.257 người và diện tích là 3,4 km².

Cesana Brianza giáp các đô thị: Annone di Brianza, Bosisio Parini, Canzo, Civate, Eupilio, Pusiano, Suello.

Biến động dân số

Tham khảo

Đô thị tỉnh Lecco
Thành phố và thị trấn ở Lombardia
Khu dân cư ở Brianza


title: Agonischius stripedius

text:
Agonischius stripedius là một loài bọ cánh cứng trong họ Elateridae. Loài này được Garg & Vasu miêu tả khoa học năm 1999.

Chú thích

Tham khảo

Agonischius


title: Theretra indistincta

text:
Theretra indistincta là một loài bướm đêm thuộc họ Sphingidae.

phân phát
Nó được tìm thấy ở Queensland, Papua New Guinea, Indonesia và quần đảo Bismarck.

miêu tả

sinh học
Ấu trùng ăn Vitis vinifera. Chúng có màu xanh lá cây hoặc nâu. Quá trình hoá nhộng diễn ra trong một con nhộmg màu đốm.

Phụ loài
Theretra indistincta indistincta (Queensland, Papua New Guinea, Indonesia)
Theretra indistincta bismarcki Jordan, 1926 (quần đảo Bismarck)
Theretra indistincta manuselensis Joicey & Talbot, 1921 (Ceram)
Theretra indistincta papuensis Joicey & Talbot, 1921 (Papua New Guinea)

Chú thích

Theretra


title: Bidessus pumilus

text:
Bidessus pumilus là một loài bọ cánh cứng trong họ Bọ nước. Loài này được Aubé miêu tả khoa học năm 1838.

Chú thích

Tham khảo

Bọ nước
Bidessus


title: Agonischius asceticus

text:
Agonischius asceticus là một loài bọ cánh cứng trong họ Elateridae. Loài này được Candèze miêu tả khoa học năm 1897.

Chú thích

Tham khảo

Agonischius


title: 30 (số)

text:
30 (ba mươi) là một số tự nhiên ngay sau 29 và ngay trước 31.

Tham khảo

Số chẵn


title: Bung Khla (huyện)

text:
Bung Khla () là một huyện (amphoe) của tỉnh Bueng Kan, đông bắc Thái Lan. Trước đây huyện này thuộc tỉnh Nong Khai.

Lịch sử
Tiểu huyện (King Amphoe) được tách ra từ Bueng Kan district ngày 1 tháng 4 năm 1 1991.
 Đơn vị này đã được nâng cấp thành huyện ngày 5 tháng 12 năm 1996.

Địa lý
Các huyện giáp ranh (từ phía nam theo chiều kim đồng hồ) là Bueng Khong Long, Seka và Bueng Kan của tỉnh Nong Khai. Về phía đông bên kia sông Mê Kông là tỉnh Bolikhamxai của Lào..

Hành chính
Huyện này được chia thành 3 phó huyện (tambon), các đơn vị này lại được chia ra thành 25 làng (muban). Có no municipal (thesaban) areas, and 3 Tổ chức hành chính tambon.

Tham khảo

Liên kết ngoài
amphoe.com

Bung Khla


title: 4057 Demophon

text:
4057 Demophon (1985 TQ) là một Trojan của Sao Mộc được phát hiện ngày 15 tháng 10 năm 1985 bởi Bowell, E. ở Flagstaff.

Liên kết ngoài
JPL Small-Body Database Browser ngày 4057 Demophon

Được phát hiện bởi Edward Bowell
Thiên thể phát hiện năm 1985
Thiên thể Troia của Sao Mộc (nhóm Hy Lạp)
Tiểu hành tinh được đánh số
Tiểu hành tinh được đặt tên


title: Adoxia vulgaris

text:
Adoxia vulgaris là một loài bọ cánh cứng trong họ Chrysomelidae. Loài này được Broun miêu tả khoa học năm 1880.

Chú thích

Tham khảo

Adoxia


title: Đại học Maryland, College Park

text:
Viện Đại học Maryland, College Park hay Đại học Maryland, College Park (tiếng Anh: University of Maryland, College Park hay UMD) là một viện đại học công lập tại thành phố College Park, Maryland, ngoại vi Washington D.C., Hoa Kỳ. Được thành lập năm 1856, Viện Đại học Maryland là học viện hàng đầu của tiểu bang Maryland, được xem là một trong những "Public Ivy," bởi Howard và Matthew Greene trong Greene's Guides (2001), được định nghĩa như một học viện công có chất lượng đào tạo tương đương với hệ trường tư Ivy League của Hoa Kỳ với mức học phí thấp.

Viện Đại học Maryland - College Park, có khuôn viên nằm gần Washington, D.C, đã trở thành đối tác nghiên cứu quan trọng với các cơ quan chính phủ. Nhiều giảng viên được tài trợ bởi các cơ quan liên bang như National Science Foundation, National Institutes of Health, Cục Quản trị Hàng không và Không gian Quốc gia (NASA), Bộ Quốc phòng Hoa Kỳ và Cơ quan An ninh Quốc gia Hoa Kỳ (National Security Agency). Viện đại học cũng là thành viên của Hiệp hội Đại học Hoa Kỳ (Association of American Universities).

Giảng dạy
Viện Đại học Maryland - College Park cấp 127 bằng đại học và 112 bằng sau đại học từ 12 trường khác nhau thuộc viện đại học bao gồm: Trường Nghệ thuật và Nhân Văn; Trường về Giáo dục; Trường về Khoa học Máy Tính, Toán và Vật Lý; Trường Báo chí Philip Merrill (Philip Merrill College of Journalism), từng đào tạo ra những ký giả như Connie Chung và Carl Bernstein, Jon Franklin, Jane Healy, Patrick Sloyan and Sarah Cohen; Trường Quản trị Kinh doanh Robert H. Smith; Trường Khoa học Xã Hội và Khoa học Hành Vi; Trường Công nghệ A. James Clark; Trường Âm nhạc; Trường Công nghệ Thông tin và Trường về Chính Sách Công.

Mới đây, Đại học Maryland được xếp hạng 54 toàn quốc trên tạp chí U.S. News and World Report, và hạng 18 trong số những đại học công lập. 31 chương trình giảng dạy được xếp vào Top 10 (bao gồm đại học và sau đại học), và 91 chương trình được xếp vào Top 25. Đại học chuyên xếp hạng các đại học thế giới, Đại học Shanghai Jiao Tong đã xếp Đại học Maryland hạng 37 trên thế giới và hạng 11 trong số những trường công lập của Mỹ. Newsweek xếp Đại học Maryland hạng 45 trên thế giới và Webometrics, một trang web về xếp hạng đại học, đã xếp Đại học Maryland hạng 19 trên tổng số 4000 trường đại học.

Tham khảo

Trường đại học và cao đẳng Hoa Kỳ


title: Rhyacophila liedtkei

text:
Rhyacophila liedtkei là một loài Trichoptera hóa thạch trong họ Rhyacophilidae.

Tham khảo

Hóa thạch Bộ Cánh lông
Rhyacophila


title: Quận Carlisle, Kentucky

text:
Quận Carlisle là một quận thuộc tiểu bang Kentucky, Hoa Kỳ.
Quận này được đặt tên theo. Theo điều tra dân số của Cục điều tra dân số Hoa Kỳ năm 2000, quận có dân số người. Quận lỵ đóng ở.

Địa lý
Theo Cục điều tra dân số Hoa Kỳ, quận có diện tích km2, trong đó có km2 là diện tích mặt nước.

Các xa lộ chính

Quận giáp ranh

Thông tin nhân khẩu
Theo điều tra dân số  năm 2000 của Cục điều tra dân số Hoa Kỳ, quận đã có dân số có 5.351 người, 2.208 hộ gia đình, và 1.574 gia đình sống trong quận hạt. Mật độ dân số là 28 trên một dặm vuông (11 / km2). Có 2.490 đơn vị nhà ở với mật độ trung bình 13 trên một dặm vuông (5,0 / km 2). Cơ cấu chủng tộc của dân cư sinh sống trong quận này bao gồm 97,78% người da trắng, 0,95% da đen hay Mỹ gốc Phi, 0,41% người Mỹ bản xứ, 0,07% ở châu Á, 0,22% từ các chủng tộc khác, và 0,56% từ hai hoặc nhiều chủng tộc. 0,82% dân số là người Hispanic hay Latino thuộc một chủng tộc nào.

Có 2.208 hộ, trong đó 30,60% có trẻ em dưới 18 tuổi sống chung với họ, 58,50% là đôi vợ chồng sống với nhau, 9,30% có một chủ hộ nữ và không có chồng, và 28,70% là không lập gia đình. 26,30% hộ gia đình đã được tạo ra từ các cá nhân và 13,10% có người sống một mình 65 tuổi hoặc lớn tuổi hơn. Cỡ hộ trung bình là 2,40 và cỡ gia đình trung bình là 2,88.

Trong dân số quận đã đạt mức trải ra với 23,40% dưới độ tuổi 18, 7,80% 18-24, 26,40% 25-44, 24,10% từ 45 đến 64, và 18,30% từ 65 tuổi trở lên người. Độ tuổi trung bình là 40 năm. Đối với mỗi 100 nữ có 95,20 nam giới. Đối với mỗi 100 nữ 18 tuổi trở lên, đã có 92,90 nam giới.

Thu nhập trung bình cho một hộ gia đình trong quận đã đạt mức USD 30.087, và thu nhập trung bình cho một gia đình là USD 33.433. Phái nam có thu nhập trung bình USD 29.523 so với 19.792 USD của phái nữ. Thu nhập bình quân đầu người của dân cư quận là 16.276 USD. Có 10,50% gia đình và 13,10% dân số sống dưới mức nghèo khổ, bao gồm 17,40% những người dưới 18 tuổi và 11,00% của những người 65 tuổi hoặc hơn.

Tham khảo

Quận của Kentucky


title: Kirchanschöring

text:
Kirchanschöring là một đô thị ở huyện Traunstein bang Bayern, Đức.

Tham khảo


title: L'Haÿ-les-Roses (tổng)

text:
Tổng L'Haÿ-les-Roses là một tổng thuộc tỉnh Val-de-Marne trong vùng Île-de-France.

Các xã

|-
| L'Haÿ-les-Roses || align="right" | 29 660 || align="right" | 94 240 || align="right" | 94 038
|}

Thông tin nhân khẩu

Tham khảo

Liên kết ngoài
 Trang mạng của tổng hội đồng Val-de-Marne

L'Haÿ-les-Roses


title: Chiếu dụ Saint-Cloud

text:
Chiếu dụ Saint-Cloud (), hay còn được gọi chiếu dụ Tháng bảy (Ordonnances de Juillet) là các chiếu dụ do vua Charles X ban bố ngày 26 tháng 7 năm 1830, thời Bourbon phục hoàng ở Pháp. Đây là nguyên nhân trực tiếp của Cách mạng Tháng bảy năm 1830 tại Paris.

Dưới thời Charles X, hai phe bảo hoàng cực đoan và tự do mâu thuẫn. Chính phủ của Jules de Polignac bị phái đối lập phản đối. Tháng 3 năm 1830, Nghị viện gửi nhà vua một bức thư thỉnh nguyện. Trả lời lại, ngày 26 tháng 7, Charles X ra chiếu dụ Saint-Cloud:

Sắc lệnh thứ nhất đình chỉ quyền tự do báo chí, tất cả các xuất bản định kỳ phải được sự cho phép của chính phủ.
Sắc lệnh thứ hai giải tán Nghị viện mới được bầu.
Sắc lệnh thứ ba thay đổi thể thức bầu cử, giảm số nghị sĩ từ 428 xuống 258...
Sắc lệnh thứ tư triệu tập đại cử tri vào tháng 9
Sắc lệnh thứ nam và sáu chỉ định Hội đồng Nhà nước.

Ngay lập tức dân Paris nổi dậy, chống lại quân đội hoàng gia. Trong ba ngày 27, 28 và 29, Cách mạng Tháng bảy khiến khoảng 1000 người thiệt mạng. Charles X trốn khỏi Paris. Các nghị sĩ đồng ý đưa Louis-Philippe I lên làm vua, bắt đầu nền Quân chủ Tháng bảy.

Tham khảo

 Guy Antonetti, Louis-Philippe, Librairie Arthème Fayard, Paris, 2002. ISBN 270287276X.

Bourbon phục hoàng


title: Froidevaux

text:
Froidevaux là một xã của tỉnh Doubs, thuộc vùng Bourgogne-Franche-Comté, miền đông nước Pháp.

Dân số

Ước lượng năm 2006 là 59.

Xem thêm
Xã của tỉnh Doubs

Tham khảo

INSEE
IGN

Xã của Doubs


title: Jacobyanella duvivieri

text:
Jacobyanella duvivieri là một loài bọ cánh cứng trong họ Chrysomelidae. Loài này được Jacoby miêu tả khoa học năm 1903.

Chú thích

Tham khảo

Jacobyanella


title: Capriati a Volturno

text:
Capriati a Volturno là một đô thị ở tỉnh Caserta trong vùng Campania của Ý, có vị trí cách khoảng 70 km về phía bắc của Napoli và khoảng 45 km về phía tây bắc của Caserta. Tại thời điểm ngày 31 tháng 12 năm 2004, đô thị này có dân số 1.683 người và diện tích là 18.4 km².

Capriati a Volturno giáp các đô thị: Ciorlano, Fontegreca, Gallo Matese, Monteroduni, Pozzilli, Venafro.

Quá trình thay đổi dân số

Tham khảo

Đô thị tỉnh Caserta
Thành phố và thị trấn ở Campania


title: Molophilus analis

text:
Molophilus analis là một loài ruồi trong họ Limoniidae. Chúng phân bố ở miền Australasia.

Liên kết ngoài

Tham khảo

Molophilus
Limoniidae ở vùng Australasia


title: Cordulegaster mzymtae

text:
Cordulegaster mzymtae là một loài chuồn chuồn ngô thuộc họ Cordulegastridae. Nó được tìm thấy ở Gruzia và Thổ Nhĩ Kỳ. Môi trường sống tự nhiên của chúng là sông ngòi. Chúng hiện đang bị đe dọa vì mất môi trường sống.

Tham khảo

 Boudot, J.-P. 2005. Cordulegaster mzymtae. 2006 IUCN Red List of Threatened Species.  Truy cập 9 tháng 8 năm 2007.

Cordulegaster


title: Ussel-Est (tổng)

text:
Tổng Ussel-Est là một tổng của Pháp tọa lạc tại tỉnh Corrèze trong vùng Nouvelle-Aquitaine.

Địa lý
Tổng này được tổ chức xung quanh Ussel trong quận Ussel. Độ cao khu vực này là 545 m (Mestes) đến 829 m (Saint-Fréjoux) độ cao trung bình trên mực nước biển là 696 m.

Hành chính

Kết quả bầu cử tổng này ngày 21 tháng 3 năm 2004
 Claudine Presset (PS)
 Pierre Gathier (UMP)
 Gilles Pégourier (divers droite)
 Hippolyte Champseix (FN)
 Gilles Chazal (PCF)

Phân chia đơn vị hành chính

|-
| Mestes || align="right" | 262 || align="right" | 19200 || align="right" | 19135
|-
| Saint-Étienne-aux-Clos || align="right" | 211 || align="right" | 19200 || align="right" | 19199
|-
| Saint-Exupéry-les-Roches || align="right" | 529 || align="right" | 19200 || align="right" | 19201
|-
| Saint-Fréjoux || align="right" | 247 || align="right" | 19200 || align="right" | 19204
|-
| Ussel || align="right" | 10 753 (1) || align="right" | 19200 || align="right" | 19275
|-
| Valiergues || align="right" | 121 || align="right" | 19200 || align="right" | 19277
|}
(1) một phần của xã.

Thông tin nhân khẩu

Xem thêm
 Corrèze
 Quận của Corrèze
 Tổng của Corrèze
 Xã của Corrèze
 Danh sách các tổng ủy viên của Corrèze

Tham khảo

Liên kết ngoài
 Tổng Ussel-Est sur le site de l'Insee
 plan du Tổng Ussel-Est sur Mapquest
 Localisation du Tổng Ussel-Est sur une carte de France

Ussel-Est


title: Myristica gigantea

text:
Myristica gigantea là một loài thực vật thuộc họ Myristicaceae. Loài này có ở Indonesia và Malaysia.

Chú thích

Tham khảo
 World Conservation Monitoring Centre 1998. Myristica gigantea. 2006 IUCN Red List of Threatened Species.  Truy cập 22 tháng 8 năm 2007.

gigantea


title: Saint-Germain-sur-Sèves

text:
Saint-Germain-sur-Sèves là một xã thuộc tỉnh Manche trong vùng Normandie tây bắc nước Pháp. Xã này nằm ở khu vực có độ cao trung bình 46 mét trên mực nước biển.

Tham khảo
 INSEE commune file

Saintgermainsurseves


title: Amenemhat II

text:
Nubkhaure Amenemhat II hay Amenemhet II là vị pharaon thứ ba của Vương triều thứ 12, Ai Cập cổ đại (cai trị từ 1929-1895 TCN). Ông là con của Senusret I và Nefru III. Người ta còn chưa biết nhiều điều về Amenemhat II, người ta biết sau khi ông băng hà, con trai là Senusret II lên ngôi. Ông là chủ nhân của Kim tự tháp Trắng ở Dahshur. Vương hiệu của ông,Nubkaure, có nghĩa "Hoàng kim là linh hồn của Re."

Những ghi chép quan trọng nhất về vương triều của ông đến từ những mảnh vỡ của một cột đá hàng năm từ Memphis (sau này được sử dụng lại vào thời Tân Vương quốc). Đó là biên niên sử năm đầu của ông, trong đó có ghi lại sự ban tặng của ông cho nhiều ngôi đền khác nhau, còn có người Nubia từ Kush đến cống nạp, một chiến dịch tới Syria và cướp phá hai thành phố. Amenemhat II đã thiết lập sự đồng nhiếp chính với người con trai, Senusret II, vào năm thứ 33 dưới vương triều của ông, nhằm đảm bảo tính liên tục của việc kế vị hoàng gia.

Một số phụ nữ thuộc hoàng gia đã được an táng bên cạnh kim tự tháp của ông tại Dahshur, cùng một số đồ trang sức bằng vàng. Bốn ngôi mộ còn lại (ba thuộc hoàng gia) vẫn còn nguyên vẹn cho khi chúng được Jacques de Morgan tìm thấy vào năm 1894/5.

Triều đình của Amenemhat ít được biết đến. Senusret và Ameny là những vị tể tướng vào thời kì đầu vương triều của ông. Hai quan coi quốc khố: Merykau và Zaaset. Viên quan đốc công giữ cửa Khentykhetywer được biết đến từ một tấm bia đá ghi lại cuộc viễn chinh đến đất Punt.

Kế vị

Amenemhat II và con trai ông, Senusret II, đã cùng đồng cai trị một thời gian ngắn, và cũng là lần cuối cùng diễn ra điều này vào thời Trung vương quốc như các nhà sử học đều nhất định. Các tấm bia đá của Hapu tại Aswan có niên đại vào năm thứ ba của Senusret II và tới năm thứ 35 của Amenemhat, có nghĩa là Senusret đã được tấn phong vào năm thứ 33 dưới vương triều của ông.

Chú thích

Đọc thêm
W. Grajetzki, The Middle Kingdom of Ancient Egypt: History,Archaeology and Society, Duckworth, London 2006 ISBN 0-7156-3435-6, tr. 45-48

Liên kết ngoài
 Amenemhat (II) Nubkaure (1914-1879/76 BCE)
 Ancient-Egypt.org
 One likely statue of Amenemhat (II) in 3D model on Sketchfab

Pharaon Vương triều thứ Mười hai của Ai Cập


title: Elgoibar

text:
Elgoibar  là một đô thị trong tỉnh Guipúzcoa thuộc cộng đồng tự trị Xứ Basque, Tây Ban Nha.

Tham khảo

Liên kết ngoài
 Official Website  Thông tin bằng Tiếng Tây Ban Nha và Basque.
 ELGOIBAR in the Bernardo Estornés Lasa - Auñamendi Encyclopedia (Euskomedia Fundazioa) Thông tin bằng Tiếng Tây Ban Nha

Đô thị ở Gipuzkoa


title: Tipula centroproducta

text:
Tipula centroproducta là một loài ruồi trong họ Ruồi hạc (Tipulidae). Chúng phân bố ở vùng nhiệt đới châu Phi.

Chú thích

Tham khảo

Chi Ruồi hạc


title: Boeing Monomail

text:
Boeing Model 200 Monomail là một loại máy bay đưa thư của Hoa Kỳ vào đầu thập niên 1930.

Thiết kế và phát triển
Chiếc máy bay này đã đánh dấu một sự chuyển hướng từ mô hình máy bay hai tầng cánh truyền thống cho máy bay vận tải, đã chuyển sang mô hình máy bay một tầng cánh đặt thấp và làm hoàn toàn bằng kim loại. Bộ phận hạ cánh có thể thu vào thân và thân máy bay có dạng thuôn dài đã làm tăng hiệu quả khí động học của máy bay. Một mẫu thử nghiệm đã được chế tạo để đánh giá bởi cả Boeing và Lục quân Hoa Kỳ (dưới tên gọi Y1C-18), nhưng không được đưa vào sản xuất hàng loạt, và máy bay cuối cùng được đưa vào hoạt động trong đội bay của Boeing ở tuyến đường bay vận chuyển thư San Francisco-Chicago từ tháng 7-1931.

Phiên bản thứ hai được phát triển có tên gọi Model 221, với thân được kéo dài thêm 8 inch (20 cm), và phiên bản này đã hy sinh một phần khả năng chở hàng, để có thể mang theo 6 hành khách trong một cabin kín, tuy nhiên phi công lại ở trong một buồng lái mở. Phiên bản này bay lần đầu vào ngày 18 tháng 8-1930. Cả Model 200 và Model 221 cuối cùng đã được sửa đổi để hoạt động xuyên lục địa với tên gọi mới là Model 221A, thân máy bay được kéo dài một phần nhỏ. Máy bay hoạt động trên tuyến đường bay Cheyenne-Chicago của United Air Lines.

Thiết kế tiên tiến hơn của Monomail đã bị ngăn trở bởi việc thiếu công nghệ động cơ thích hợp và cánh quạt. Khi công nghệ động cơ và chế tạo cánh quạt vượt trội, thiết kế mới của Mônmail được trang bị nhiều động cơ công suất lớn với hiệu suất vượt trội.

Các phiên bản
Model 200
máy bay chở thư (1 chiếc)
Model 221
máy bay chở thư có thể chở 6 hành khách (1 chiếc)
Model 221A
Model 200 và 221 chuyển thành máy bay chở khách, chở được 8 người

Quốc gia sử dụng

Boeing Air Transport
United Air Lines

Thông số kỹ thuật (Model 221)

Đặc điểm riêng
Tổ lái: 1
Sức chứa: 6 hành khách
Chiều dài: 59 ft 1 in (18 m)
Sải cánh: 41 ft 10 in (12.75 m)
Chiều cao: n/a
Diện tích cánh: n/a
Trọng lượng rỗng: n/a
Trọng lượng cất cánh: n/a
Trọng lượng cất cánh tối đa: 8.000 lb (3.628.7 kg)
Động cơ: 1× Pratt & Whitney Hornet B, 575 hp (428.8 kW)

Hiệu suất bay
Vận tốc cực đại: 158 mph (254 km/h)
Vận tốc hành trình: 135 mph (217 km/h)
Tầm bay: 575 mi (925 km)
Trần bay: 14.700 ft (4.480.5 m)
Vận tốc lên cao: n/a
Lực nâng của cánh: n/a
Lực đẩy/trọng lượng: n/a

Tham khảo

Boeing History - Boeing Monomail Transport Truy cập 17 tháng 6 năm 2006.

Xem thêm

Máy bay có tính năng tương đương
Lockheed Orion
Northrop Alpha

Monomail
Máy bay chở khách Hoa Kỳ 1930–1939
Máy bay quân sự Hoa Kỳ thập niên 1930
Máy bay thư tín Hoa Kỳ 1930–1939
Máy bay dân sự
Máy bay chở khách
Máy bay vận tải
Máy bay thư tín
Máy bay cánh dưới
Máy bay một động cơ cánh quạt


title: Yết Kiêu, Hà Đông

text:
Yết Kiêu là một phường thuộc quận Hà Đông, thành phố Hà Nội, Việt Nam.

Phường Yết Kiêu có diện tích 0,21 km², dân số năm 2022 là 8.623 người, mật độ dân số đạt  người/km².

Chú thích

Xem thêm

Đơn vị hành chính Việt Nam đặt tên theo tên người


title: Gonomyia arajuno

text:
Gonomyia arajuno là một loài ruồi trong họ Limoniidae. Chúng phân bố ở vùng Tân nhiệt đới.

Liên kết ngoài

Tham khảo

Gonomyia
Limoniidae ở vùng Neotropic


title: Callisphecia

text:
Callisphecia là một chi bướm đêm thuộc họ Sesiidae.

Các loài
Callisphecia bicincta  Le Cerf, 1916
Callisphecia oberthueri  Le Cerf, 1916

Chú thích

Tham khảo

Sesiidae


title: Atypophthalmus emaceratus

text:
Atypophthalmus emaceratus là một loài ruồi trong họ Limoniidae. Chúng phân bố ở miền Australasia.

Liên kết ngoài

Tham khảo

Atypophthalmus
Limoniidae ở vùng Australasia


title: Eurycea wallacei

text:
Haideotriton wallacei (tên tiếng Anh: Georgia Blind Salamander) là một loài kỳ giông trong họ Plethodontidae. Thông thường nó được xếp vào chi Eurycea, nhưng trước đây được coi là loài duy nhất thuộc chi Haideotriton. Nó là loài đặc hữu của Hoa Kỳ.

Các môi trường sống tự nhiên của chúng là carxtơ nội địa, hang, và chỗ ở ngầm dưới đất (không hẳn là hang). Nó bị đe dọa do mất môi trường sống.

Tham khảo

Eurycea
Động vật lưỡng cư Mỹ
Động vật đặc hữu Hoa Kỳ
Động vật được mô tả năm 1939


title: Palmispa

text:
Palmispa là một chi bọ cánh cứng trong họ Chrysomelidae.
Chi này được miêu tả khoa học năm 1960 bởi Gressitt.

Các loài
Các loài trong chi này gồm:
 Palmispa korthalsivora Gressitt, 1960
 Palmispa parallela Gressitt, 1960

Chú thích

Tham khảo

Cryptonychini


title: Sterling, Colorado

text:
Sterling, Colorado là một thành phố thuộc quận trong tiểu bang Colorado, Hoa Kỳ. Thành phố có diện tích km2, dân số theo điều tra năm 2000 của Cục điều tra dân số Hoa Kỳ là người.

Tham khảo

Thành phố của Colorado


title: Schendylotis

text:
Schendylotis là một chi bướm đêm thuộc họ Cosmopterigidae.

Tham khảo

Natural History Museum Lepidoptera genus database

Cosmopterigidae


title: Tabernaemontana oppositifolia

text:
Tabernaemontana oppositifolia là một loài thực vật thuộc họ Apocynaceae. Đây là loài đặc hữu của Puerto Rico.

Chú thích

Tham khảo
 World Conservation Monitoring Centre 1998. Tabernaemontana oppositifolia. 2006 IUCN Red List of Threatened Species.  Truy cập 23 tháng 8 năm 2007.

Thực vật Puerto Rico
O
Thực vật dễ tổn thương


title: Le Saint

text:
Le Saint () là một xã ở tỉnh Morbihan trong vùng Bretagne tây bắc Pháp. Xã này có diện tích 31,03 km², dân số năm 1999 là 696 người. Khu vực này có độ cao từ 73-223 mét trên mực nước biển.

Tiếng Bretagne
Xã này đã phát động một kế hoạch song ngữ thông qua Ya d’ar brezhoneg ngày 24/2/2005.

Tham khảo

 Các thị trưởng của Hiệp hội Morbihan
 Hồ sơ của thị trấn trên trang mạng INSEE

Liên kết ngoài
 French Ministry of Culture list for Le Saint
 Bản đồ của Le Saint trên Michelin

Xã của Morbihan


title: Isotes albomarginata

text:
Isotes albomarginata là một loài bọ cánh cứng trong họ Chrysomelidae. Loài này được Baly miêu tả khoa học năm 1889.

Chú thích

Tham khảo

Isotes


title: USS Miami

text:
Ba tàu chiến của Hải quân Hoa Kỳ từng được đặt cái tên USS Miami, theo tên thành phố Miami thuộc tiểu bang Florida:

 USS Miami (1861) là một pháo hạm hơi nước chạy bánh guồng hông được sử dụng trong cuộc Nội chiến Hoa Kỳ
 USS Miami (CL-89) là một tàu tuần dương hạng nhẹ thuộc lớp Cleveland phục vụ từ năm 1943 đến năm 1947
 USS Miami (SSN-755) là một tàu ngầm tấn công chạy năng lượng hạt nhân thuộc lớp Los Angeles đưa vào hoạt động năm 1990 và hiện vẫn đang phục vụ

Tên gọi tàu chiến Hải quân Hoa Kỳ