Máy tínhLập trình

Đóng gói - đây là những gì? Đóng gói trong lập trình

Đóng gói - đây là một trong ba tính năng chính của chương trình hướng đối tượng (OOP). Hai người kia - đa hình và thừa kế. Họ cùng nhau tạo nên khuôn khổ PLO mà đưa ra một loạt các tính năng của chương trình viết bằng các ngôn ngữ khác nhau, sử dụng ba nguyên tắc này. ngôn ngữ hướng đối tượng, đến lượt nó, có nghĩa vụ nghiêm túc theo họ.

OOP Khái niệm cơ bản

Hướng đối tượng lập trình trên ba trụ cột của sự sáng tạo của nó:

  • Đa hình, trả lời các câu hỏi về cách một ngôn ngữ lập trình cụ thể giao dịch với các đối tượng có mối quan hệ với nhau, một cách tương tự.
  • Thừa kế, đưa ra một câu trả lời, như thế nào là sự kích thích của việc sử dụng mã tái sử dụng.
  • Đóng gói, đó là câu trả lời cho câu hỏi cất giấu thi diễn ra, và do đó sự toàn vẹn dữ liệu.

ngữ

Đóng gói (lập trình) - là sử dụng bổ truy cập để che giấu mẩu mã từ người dùng cuối. Bên dưới nó, đến lượt nó, có nghĩa là các trang web nhà phát triển hoặc di sản.

Bản chất của khái niệm "đóng gói"

Định nghĩa xác định rằng bằng cách đóng gói có nghĩa là che giấu toàn bộ hoặc một phần của mã chương trình. Bản chất của khái niệm "đóng gói" là để thao tác bổ truy cập. Điều này có nghĩa rằng các nhà phát triển có thể quyết định tính chất, phương pháp, và các lớp học sẽ được mở cho khách hàng hạng nhất, và những gì - được ẩn.

bổ truy cập

Có bổ truy cập, trong đó, trong số những thứ khác, có khả năng manipulyarivat đóng gói (lập trình Java):

  • công cộng ( "công cộng" - công, truy cập mở) - chia sẻ cả các lớp học hiện tại và các đối tượng, và với thế giới bên ngoài;
  • tư nhân ( "prayvat" - tư nhân, tư nhân, ẩn truy cập) - đóng truy cập, bản chất của nó là hoàn toàn trái ngược với trước đó. Nó cung cấp truy cập chỉ từ lớp hiện hành;
  • bảo vệ ( "protekted" - bảo vệ, truy cập nửa ẩn) - Truy cập vào các lớp học hiện tại và dẫn xuất của nó;
  • mặc định - không xác định modifier truy cập có nghĩa là các lĩnh vực / phương pháp có thể được nhìn thấy cho tất cả các lớp học hiện tại trong gói.

Trong ngôn ngữ C # ( "Si Sharp"), ngoài việc nêu trên (trừ cuối cùng), vẫn còn Modifiers:

  • nội bộ ( "nội bộ" - truy cập nội bộ) - khả năng tiếp cận trong việc lắp ráp hiện nay, truy cập trong nhà cho tất cả các trường hợp khác;
  • nội bộ được bảo vệ ( "nội protekted" - nội Protected Access) - công đoàn của hai bổ ngữ trong một, trong đó tính chất biểu hiện của cả hai.

Vai trò của đóng gói

cơ chế đóng gói loại bỏ ảnh hưởng bên ngoài trên mã và lạm dụng các dữ liệu nhúng trong đó. Này được thực hiện bằng cách kết hợp các mã và dữ liệu thành một.

Đối tượng và đóng gói

Kết hợp việc thực hiện của một module phần mềm và dữ liệu nhúng trong các mã, lập trình được gọi là một đối tượng. Bản chất của kết nối của nó với việc đóng gói là một phương pháp như vậy cho phép để duy trì và đảm bảo tính toàn vẹn của sự vận hành của cơ chế.

Ưu điểm của việc đóng gói

Đóng gói - một cách để đơn giản hóa quá trình mã hóa. Nhiều dòng mã là "đằng sau hậu trường", và trong công tác lớp học chính đang diễn ra để phản đối trường hợp.

Ý tưởng về bảo vệ dữ liệu

Đóng gói - nó cũng là một cơ chế mà nhận ra ý tưởng về bảo vệ dữ liệu. chương trình logic hướng đối tượng lập trình được xây dựng trên cơ sở những gì hầu hết các dữ liệu sẽ được ẩn modifier truy cập tư nhân (tư nhân, tư nhân) hoặc bảo vệ (bảo vệ). Thế giới bên ngoài, khách hàng vô tình hay cố ý sẽ không làm hỏng việc thực hiện của một module phần mềm. Bởi vì trong thực tế, nó làm cho nó rất dễ dàng để thậm chí không có mục đích, đóng gói - đây là một nguyên tắc rất tốt.

đơn vị đóng gói

Class, như một đơn vị cơ bản của đóng gói và mô tả dữ liệu bao gồm một mã số, có khả năng hoạt động trên những dữ liệu này. Ông cũng là cơ sở cho việc xây dựng các đối tượng. Sau đó, đến lượt nó, được trình bày như một ví dụ.

Cũng sử dụng các thuật ngữ sau đây:

  • thành viên - đây là mã và dữ liệu bao gồm trong lớp;
  • lĩnh vực hoặc các biến Ví dụ - các dữ liệu cái gọi là định nghĩa các lớp;
  • chức năng thành viên - chúng chứa mã riêng của mình. Các hàm thành viên - một tên gọi chung. Một trường hợp đặc biệt - phương pháp.

ví dụ cụ thể đóng gói

Đóng gói (lập trình) Ví dụ:

* Lưu ý:

Mô tả - một mô tả về phương pháp / tài sản / biến, tức là cho ý kiến về những gì thực sự xảy ra trong chương trình. Nó được thể hiện bằng phương pháp mở / đóng thẻ

using System;

namespace OOPLibrary.Auto

{

///

/// lớp này được thiết kế để mô tả hành động của xe

///

public class Auto

{

///

/// biến tạo ra để viết trong đó, bao nhiêu năm chiếc xe, vì sự can thiệp bên ngoài trong các nhà phát triển bất động sản cho rằng không cần thiết

/// sửa đổi được đánh dấu riêng, ví dụ: đóng cửa, truy cập tin (xem. Các mô tả ở trên).

///

int _age tư nhân;

///

/// Một boolean (chỉ có hai giá trị có thể - có hoặc không), trong đó mô tả cho dù chiếc xe đang chuyển động vào lúc này

/// Nó cũng nên mở cửa cho người dùng cuối, bất cứ ai ông. Do đó biến này được gán một tin sửa đổi lần truy cập "prayvat"

///

_isMoving bool tư nhân;

///

/// biến chuỗi này nên chứa thông tin về màu sắc của chiếc xe. Nó có thể được thay đổi bởi ảnh hưởng bên ngoài

/// vì cho sửa đổi màu sắc được lựa chọn truy cập mở "công cộng".

///

Màu public string;

///

/// Trong trường hợp đặc biệt này, chúng tôi giả định rằng tên của chiếc xe cũng vậy, có thể thay đổi

/// gán một modifier của công chúng (truy cập mở cho tất cả, không phân biệt giai cấp, lắp ráp).

///

Tên public string;

///

/// Mở constructor lớp, và tất cả các thuộc tính của các biến thể hiện và thiết lập sớm hơn một chút, có được giá trị của họ

///

Auto công cộng ()

{

_age = 5;

_isMoving = false;

Color = "Purple";

Name = "Skoda Octavia";

}

///

/// Phương pháp này nhận ra một giá trị trả về của thời đại tự động. Tại sao điều này cần thiết?

/// sửa đổi lần truy cập tin không làm cho nó có thể cho những thay đổi của khách hàng.

///

/// Trả về độ tuổi của xe.

public string getAge ()

{

trở về "Tại thời điểm này, máy chọn" + _age + "năm.";

}

///

/// Nếu xe không chuyển động, phương pháp này thực hiện khi bắt đầu của phong trào. Kiểm tra biến oboznalsya, tình trạng của xe (đi du lịch hay không), và, tùy thuộc vào kết quả, các biện pháp thích hợp / tin nhắn được hiển thị.

///

public void Start ()

{

if (_isMoving)

{

Console.WriteLine ( "Phong trào đã được bắt đầu");

}

khác

{

_isMoving = true;

Console.WriteLine ( "Ready, Set .. Tới đi!");

}

}

///

/// Nếu chuyển động được khởi xướng, phương pháp này ngăn anh lại. Các chương trình logic tương tự như trong trường hợp trước coi.

///

public void Stop ()

{

if (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stop Machine");

}

khác

{

Console.WriteLine ( "Lỗi xe và do đó đứng yên, không di chuyển");

}

}

///

/// thực hiện rẽ trái, nếu có một chiếc xe

///

public void MoveLeft ()

{

if (_isMoving)

{

Console.WriteLine ( "rẽ trái được thực hiện");

}

khác

{

Console.WriteLine ( "Lỗi xe là tính năng xoay văn phòng phẩm hiện không có sẵn.");

}

}

///

/// Một phương pháp tương tự với rẽ phải

///

public void moveright ()

{

if (_isMoving)

{

Console.WriteLine ( "Rẽ phải được thực hiện thành công");

}

khác

{

Console.WriteLine ( "Lỗi Chiếc xe đã không di chuyển từ chỗ rẽ phải nó được vào lúc này hành động, nó là không thể thực hiện ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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