Máy tínhLập trình

PLO - đây là những gì? Các nguyên tắc cơ bản của lập trình hướng đối tượng

Tại sao lập trình hướng đối tượng được ưu tiên trong hầu hết các dự án? PLO cung cấp một cách hiệu quả để đối phó với sự phức tạp của họ. Thay vì xem xét một chương trình như là một chuỗi các lệnh thực thi, nó đại diện cho nó như là một nhóm đối tượng có đặc tính nhất định và sản xuất chúng với những hành động nhất định. Điều này dẫn đến một ứng dụng rõ ràng hơn, đáng tin cậy hơn và legkosoprovozhdaemyh.

Các nguyên tắc cơ bản của lập trình hướng đối tượng (OOP) hình thành bởi vì hạn chế này đã được tìm thấy trong cách tiếp cận từ trước. Trong số đó - truy cập không giới hạn vào các dữ liệu và một số lượng lớn các liên kết, trong đó áp đặt các hạn chế về việc thay đổi. nhận thức và nguyên nhân của chúng quan trọng để hiểu những gì lập trình OOP và lợi thế của mình là gì.

ngôn ngữ thủ tục

C, Pascal, FORTRAN, và ngôn ngữ tương tự là thủ tục. Đó là, mỗi người trong số các nhà điều hành cho máy tính để làm điều gì đó: để có được các dữ liệu, thêm lên những con số, chia thành sáu, kết quả hiển thị. ngôn ngữ thủ tục Phụ lục là danh sách hướng dẫn. Nếu nó là nhỏ, không có nguyên tắc tổ chức khác (thường được gọi là một mô hình) không được yêu cầu. Các lập trình viên tạo ra một danh sách các hướng dẫn, và máy tính thực thi chúng.

Tách chức năng

Khi các ứng dụng trở thành danh sách cồng kềnh hơn lượt. Ít người có thể hiểu nhiều hơn một vài trăm hướng dẫn cho đến khi họ được nhóm. Vì lý do này, chức năng là cách để làm cho ứng dụng dễ hiểu hơn đối với người tạo ra nó. Trong một số ngôn ngữ, khái niệm tương tự có thể được gọi là chương trình con hoặc các thủ tục.

Các ứng dụng được chia thành các chức năng, mỗi trong số đó có một mục đích rõ ràng và giao diện.

Ý tưởng về tách các thủ tục có thể được mở rộng sang một nhóm lớn hơn của đối tượng được gọi là một mô-đun, nhưng nguyên tắc là tương tự như: các nhóm của các thành phần mà thực hiện danh sách các tài liệu.

Tách chức năng và mô-đun - một trong những viên đá góc của lập trình cấu trúc, mà trong nhiều thập kỷ cho đến khi PLO là nó đặt ra mô hình.

vấn đề lập trình có cấu trúc

Như các ứng dụng trở nên lớn hơn, lập trình có cấu trúc bắt đầu gặp khó khăn. Dự án trở nên quá phức tạp. chuyển đồ họa. Nó bao gồm một số lượng lớn các lập trình viên. Sự phức tạp đã phát triển. Chi phí chụp lên, tiến độ đã chuyển hơn nữa, và có đến sự sụp đổ.

Phân tích các nguyên nhân của thất bại cho thấy sự thiếu hụt về thủ tục mô hình. Bất kể thế nào có cấu trúc cũng tiếp cận lập trình triển khai, ứng dụng lớn trở nên quá phức tạp.

nguyên nhân của những vấn đề liên quan đến ngôn ngữ thủ tục như thế nào? Thứ nhất, các chức năng có thể truy cập không giới hạn vào dữ liệu toàn cầu. Thứ hai, thủ tục liên quan và các giá trị xấu mô phỏng thế giới thực.

Nếu chúng ta xem xét những vấn đề này trong bối cảnh của phần mềm kế toán hàng tồn kho, một trong những yếu tố quan trọng nhất của dữ liệu toàn cầu là một tập hợp của SKU. chức năng khác nhau có thể tham khảo để họ nhập một giá trị mới, nó sẽ được hiển thị, thay đổi và như vậy. D.

truy cập không giới hạn

Chương trình này được viết, ví dụ, trong C, có hai loại dữ liệu. Địa phương ẩn trong các chức năng và các thủ tục khác không được sử dụng.

Khi hai hoặc nhiều chức năng có quyền truy cập vào cùng một dữ liệu, sau này phải toàn cầu. Như vậy, ví dụ, được đưa vào thông tin tài khoản về đối tượng. Các dữ liệu toàn cầu có thể được bất kỳ thủ tục có sẵn.

Trong một chương trình lớn, có nhiều tính năng và nhiều yếu tố toàn cầu. Các vấn đề của mô hình tố tụng là nó dẫn đến một số lượng lớn các liên kết tiềm năng giữa chúng.

Như một số lượng lớn các kết nối gây ra nhiều khó khăn. Đầu tiên, nó làm phức tạp sự hiểu biết về cấu trúc của chương trình. Thứ hai, rất khó để thay đổi. Thay đổi trong mục dữ liệu toàn cầu có thể yêu cầu điều chỉnh tất cả các chức năng mà có quyền truy cập vào nó.

Ví dụ, trong chương trình chiếm một ai đó quyết định rằng chiếm mã đối tượng nên bao gồm không 5 chữ số, và từ 12. Điều này đòi hỏi một sự thay đổi các kiểu dữ liệu từ ngắn đến dài. Bây giờ kết hợp với mã chức năng phải được sửa đổi để làm việc với các định dạng mới.

Khi các yếu tố được thay đổi trong một ứng dụng lớn hơn, rất khó để nói những gì thủ tục được tiếp cận với họ. Nhưng ngay cả khi con số này, thay đổi chúng có thể dẫn đến hoạt động không chính xác với dữ liệu toàn cầu khác. Tất cả mọi thứ được kết nối với mọi thứ khác, do đó, một sự thay đổi ở một nơi backfire trong khác.

Mô hình hóa thế giới thực

Vấn đề thứ hai và quan trọng hơn của mô hình thủ tục là địa điểm cụ thể dữ liệu và chức năng của mình kém mô phỏng những điều trong thế giới thực. Ở đây chúng ta đang đối phó với các đối tượng như người hoặc xe hơi. Họ giống như không có dữ liệu hoặc hàm. Phức tạp đối tượng thực tế có các thuộc tính và hành vi.

thuộc tính

Ví dụ về các thuộc tính (đôi khi được gọi là tài sản) cho người dân là màu mắt và tên của bưu điện, cho một chiếc xe - sức mạnh và số lượng cửa ra vào. Khi nó bật ra, các thuộc tính của thế giới thực tương đương với dữ liệu trong chương trình. Họ có giá trị cụ thể, chẳng hạn như màu xanh (màu của mắt) hoặc bốn (số lượng cửa).

thái độ

Hành vi - là đối tượng thực thế giới được sản xuất để đáp ứng với một số loại tác động. Nếu bạn hỏi một ông chủ cho tăng lương, câu trả lời là "có" hoặc "không". Nếu bạn bấm vào phanh, chiếc xe sẽ dừng lại. Và ngăn chặn những hành vi lời nói là những ví dụ. Hành vi tương tự như thủ tục: nó được gọi là để làm điều gì đó, và nó làm như vậy. Do đó, dữ liệu và chức năng tự không mô hình đối tượng thực tế một cách hiệu quả.

Phát biểu

Các đối tượng trong OOP được biểu diễn dưới dạng một tập hợp các dữ liệu và chức năng. Chỉ có thủ tục được gọi là hàm thành viên trong C ++, cho phép để có được giá trị của nó. Đây là những thành viên ẩn và bảo vệ khỏi những thay đổi. Ý nghĩa và chức năng được đóng gói thành một. Đóng gói và upryatyvanie - thuật ngữ cơ bản trong mô tả của các ngôn ngữ hướng đối tượng.

Nếu bạn muốn thay đổi các dữ liệu, nó biết chính xác những gì các chức năng tương tác với họ. Không thủ tục khác không thể truy cập chúng. Này đơn giản hóa văn bản, gỡ lỗi, và duy trì chương trình.

Đơn thường bao gồm một số vật thể tương tác với nhau, gây ra các hàm thành viên.

Ngày nay, OOP sử dụng rộng rãi nhất ngôn ngữ (lập trình hướng đối tượng) - C ++ (cộng cộng). Trong Java thiếu một số tính năng như con trỏ, các mẫu và đa kế thừa, mà làm cho nó ít mạnh mẽ và linh hoạt hơn so với C ++. C # vẫn chưa đạt đến sự phổ biến của C ++.

Cần lưu ý rằng cái gọi là hàm thành viên trong các phương pháp C ++ gọi trong một số ngôn ngữ hướng đối tượng khác như Smalltalk. Các mục dữ liệu được gọi là thuộc tính. Gọi một phương thức của đối tượng được cử đi thông điệp.

phép loại suy

Bạn có thể tưởng tượng các đối tượng của các phòng ban công ty. Trong hầu hết các tổ chức, người lao động không làm việc một ngày nào đó với các nhân viên, mức lương quá mức sau đây, và sau đó một tuần tham gia vào thương mại bán lẻ. Mỗi bộ phận có nhân viên của mình, với nhiệm vụ được giao rõ ràng. Có dữ liệu riêng: chỉ số tiền lương, bán hàng, nhân viên kế toán, vv Người dân ở các phòng ban làm việc với thông tin của họ ... Việc phân chia của công ty, do đó, tạo điều kiện cho việc kiểm soát hoạt động kinh doanh và duy trì tính toàn vẹn dữ liệu. Kế toán chịu trách nhiệm về biên chế. Nếu bạn muốn biết tổng số tiền lương trả cho các chi nhánh phía Nam trong tháng bảy, không cần phải đi sâu vào kho lưu trữ. Nó là đủ để gửi một lưu ý cho người có trách nhiệm, đợi cho đến khi người đó có quyền truy cập vào các dữ liệu và gửi đáp ứng với các thông tin được yêu cầu. Điều này đảm bảo tuân thủ các quy định và sự vắng mặt của sự can thiệp từ bên ngoài. Trong cùng một cách một đối tượng trong PLO cung cấp ứng dụng tổ chức.

Nên nhớ rằng định hướng của các đối tượng không áp dụng cho các chi tiết của chương trình làm việc. Hầu hết các lệnh C ++ nhà khai thác tương ứng với ngôn ngữ thủ tục như C. Trong thực tế, các hàm thành viên trong C ++ rất giống với chức năng trong C. Chỉ có bối cảnh rộng hơn sẽ cho phép thiết lập cho dù hướng dẫn thủ tục hoặc hướng đối tượng.

Các đối tượng trong OOP: Định nghĩa

Khi xem xét các vấn đề về lập trình bằng ngôn ngữ hướng đối tượng thay vì những câu hỏi về bộ phận của nó vào các chức năng riêng biệt là một vấn đề trong các cơ sở tách. OOP suy nghĩ là dễ dàng hơn nhiều để phát triển các ứng dụng. Điều này là do sự giống nhau của phần mềm và các đối tượng thực sự.

Những loại điều là các đối tượng trong OOP? Dưới đây là một số loại điển hình.

đối tượng vật lý trong OOP - là:

  • mô hình dòng chảy giao thông;
  • thành phần điện trong các chương trình thiết kế mạch;
  • mô hình kinh tế của đất nước;
  • máy bay trong hệ thống kiểm soát không lưu.

Các yếu tố của môi trường máy tính của người dùng:

  • đơn;
  • cửa sổ;
  • đồ họa (dòng, hình chữ nhật, hình tròn);
  • ổ bàn phím, chuột, máy in, đĩa.

người:

  • người lao động;
  • sinh viên;
  • khách hàng;
  • người bán.

thông tin:

  • sổ sách;
  • một vấn đề tư nhân;
  • từ điển;
  • bảng của vĩ độ và kinh độ của các khu định cư.

Truyền thông thế giới thực vật và PLO là kết quả của sự kết hợp giữa chức năng và dữ liệu mà họ đã cách mạng hóa việc lập trình. Như một trận đấu chặt chẽ bằng các ngôn ngữ thủ tục đó.

lớp

Các đối tượng trong PLO - thành viên lớp. có nghĩa là gì? Ngôn ngữ lập trình đã được xây dựng trong các kiểu dữ liệu. Loại int, t. E. Một số nguyên được xác định trước trong C ++. Bạn có thể tuyên bố bất kỳ số lượng int biến.

Tương tự như vậy, một đa số của các đối tượng được xác định bởi một lớp. Nó định nghĩa các chức năng và các dữ liệu bao gồm cơ sở vật chất của nó, chứ không phải tạo ra chúng, cũng như một int không tạo ra các biến.

Lớp trong PLO - một mô tả của một số đối tượng tương tự. Prince, Sting và Madonna là ca sĩ. Không có ai tên đó, nhưng mọi người có thể được gọi như vậy, nếu họ có những đặc điểm thích hợp. OOP đối tượng - trường hợp này.

sự thừa kế

Trong cuộc sống, các lớp học được chia thành các lớp con. Ví dụ, động vật được chia thành động vật lưỡng cư, động vật có vú, chim, côn trùng và vân vân. D.

Nguyên tắc của loại bộ phận là mỗi lớp con có nhiều tính năng thông thường với lớp từ đó. Tất cả các xe có bánh xe và một động cơ. Đây là đặc điểm xác định của các phương tiện. Ngoài những đặc điểm chung của mỗi lớp con có những đặc điểm riêng của mình. Có rất nhiều chỗ ngồi xe buýt và xe tải có không gian để bê vác nặng.

Tương tự như vậy, một lớp cơ sở có thể là một lớp con mẹ vài dẫn xuất có thể được định nghĩa để họ sẽ chia sẻ những đặc trưng riêng của nó với việc bổ sung. Thừa kế như chức năng, đơn giản hóa chương trình thủ tục. Nếu một vài bộ phận của các mã đang làm khá nhiều việc cùng, bạn có thể trích xuất các phần tử chung và đặt chúng trong một thủ tục. Ba khu vực ứng dụng có thể gọi hàm để thực hiện các hoạt động phổ biến, nhưng họ có thể sản xuất và các hoạt động riêng của mình. Tương tự như vậy, các lớp cơ sở chứa thông tin chung cho nhóm các dẫn xuất. Một chức năng tương tự như làm giảm thừa kế của chương trình hướng đối tượng và làm rõ mối quan hệ giữa các yếu tố của nó.

tái chế

Một khi các lớp được tạo ra và sửa lỗi, nó có thể được chuyển giao cho các lập trình viên khác để tái sử dụng trong các ứng dụng của riêng bạn. Nó giống như một thư viện các hàm có thể được bao gồm trong các ứng dụng khác nhau.

Trong OOP, thừa kế là một phần mở rộng của ý tưởng của nhiều sử dụng. Từ một lớp học hiện có, mà không thay đổi nó, chúng ta có thể tạo ra một cái mới với việc bổ sung các chức năng khác. Sự dễ dàng của tái sử dụng các phần mềm hiện có - một lợi thế quan trọng của PLO. Người ta tin rằng nó cung cấp một lợi nhuận ngày càng tăng của đầu tư ban đầu.

Tạo kiểu dữ liệu mới

Cơ sở vật chất thích hợp cho việc tạo ra các kiểu dữ liệu mới. Giả sử một chương trình sử dụng các giá trị hai chiều (ví dụ tọa độ hoặc vĩ độ và kinh độ), và có một mong muốn để diễn tả hành động của số học trên chúng:

position1 = vị trí + nguồn gốc,

nơi position1, vị trí và nguồn gốc - một cặp giá trị số độc lập. Tạo một lớp bao gồm hai giá trị này, và khai báo biến của các đối tượng của nó tạo ra một kiểu dữ liệu mới.

Đa hình, quá tải

Các nhà khai thác = (bằng), và + (cộng) được sử dụng trong số học vị trí trên không hành động cũng như tích hợp sẵn trong các loại, chẳng hạn như int. đối tượng vị trí, và những người khác. Không phải được xác định trước và được thiết lập bởi phần mềm. Làm thế nào để các nhà khai thác biết làm thế nào để xử lý? Câu trả lời nằm trong thực tế là hành vi mới có thể được thiết lập cho họ. Các hoạt động này sẽ là thành viên chức năng Lớp Chức vụ.

Sử dụng toán tử hoặc thủ tục tùy thuộc vào những gì họ đang làm việc được gọi là đa hình. Khi có một nhà điều hành, chẳng hạn như + hoặc =, được cơ hội để làm việc với các kiểu dữ liệu mới, nó nói rằng nó bị quá tải. Tình trạng quá tải trong PLO - một loại đa hình. Đây là tính năng quan trọng của nó.

Một cuốn sách về PLO "Lập trình hướng đối tượng cho Dummies" sẽ cho phép tất cả mọi người để làm quen với chủ đề này một cách chi tiết hơn.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 vi.unansea.com. Theme powered by WordPress.