2011-12-28 51 views
74

Có vẻ như đó là một câu hỏi ngu ngốc nhưng tôi rất tò mò và muốn sử dụng cụm từ đúng khi nói về vấn đề. Không thể tìm thấy câu hỏi tương tự ở đây nên tôi quyết định tạo một câu hỏi mới.Ghi đè hoặc ghi đè

Chúng ta có nên tham chiếu đến ghi đè "thay thế triển khai" hoặc ghi đè không? Ngôn ngữ có cụ thể không?

+0

Không có bối cảnh nào câu hỏi này quá rộng –

+5

Nó được ghi đè trong mọi cuốn sách và ngôn ngữ mà tôi đã tham gia. – Joe

+1

Tôi biết đó là ngữ cảnh rộng, nhưng đó chính là điều tôi muốn hỏi, trong bối cảnh lập trình rất chung . Từ các phản ứng có vẻ như ghi đè là từ thường được sử dụng, mặc dù ghi đè có sử dụng cụ thể của nó là tốt. –

Trả lời

91

Nếu bạn đang thay thế một thực hiện hoàn toàn với nhau, đó là "ghi đè" hoặc phổ biến hơn " thay thế ". Nếu bạn đang thay thế triển khai cho một số trường hợp cụ thể khác, đó là "ghi đè".

Để "ghi đè" một cái gì đó là để đặt một cái gì đó khác vào vị trí của nó, phá hủy điều được ghi đè. Để "ghi đè" một cái gì đó là để gây ra một cái gì đó khác để hoạt động thay vì nó mà không làm tổn hại hoặc thay đổi điều bị ghi đè.

+2

Tôi không đồng ý. Tôi tin rằng thuật ngữ "ghi đè" luôn có thể được sử dụng để có nghĩa là bạn đang thay thế việc triển khai; nó không quan trọng bao lâu hoặc theo cách nào. –

+0

Tôi chưa bao giờ nghe nó được sử dụng theo cách đó, nhưng nó không có vẻ sai khi sử dụng nó theo cách đó. –

+20

tìm kiếm nhanh trên dictionary.com xác nhận điều này: * ghi đè * - Hủy (dữ liệu) hoặc dữ liệu trong (tệp) bằng cách nhập dữ liệu mới vào vị trí của nó. * ghi đè * - Sử dụng quyền hạn của mình để từ chối hoặc hủy (quyết định, chế độ xem, v.v.) – allicarn

3

Cả hai là các thuật ngữ chung chung Override là phòng ngừa một số hành động hoặc quyết định trước đó và mặt khác Overwrite đề cập đến nội dung nào đó được viết trên nội dung nào đó được viết trước đây.

nói cách đơn giản,

Hoạt động và các quyết định được ghi đè.

Thông tin bị ghi đè.

3

tôi đã đưa ra một liên kết trên Internet khoảng 2 năm trước đây, trong đó tác giả đã giải thích sự khác biệt giữa chúng với một ví dụ thực tế:

Giả sử rằng bạn có một công ty xe hơi sản xuất. Bạn đang nổi tiếng và hài lòng với khách hàng của bạn vì họ luôn tin tưởng ở bạn và mua sản phẩm của bạn (ví dụ: Ô tô)

Đối với hoạt động sản xuất xe hơi, bạn có 2 lựa chọn trên tay:

  1. Tất cả những điều đi qua và bạn biết rằng bạn bước một cách đúng đắn. Vì vậy, bạn không chỉ muốn giữ các mô hình trước đó mà còn tiếp tục tăng cường chúng. Nhưng làm thế nào đến? Có lẽ bằng cách thêm các tính năng mới cho các mô hình hiện có! Bây giờ các mô hình mới có tất cả các tính năng PLUS tính năng mới được nâng cao.

  2. Bạn biết rằng cách bạn đã trải qua đã sai! Thật là một cách tiếp cận khủng khiếp !! Bạn nhận thấy một cách nhanh chóng mà công ty nên thay đổi toàn bộ công nghệ ...

Sau khi tất cả, về mặt lập trình, phương pháp tiếp cận đầu tiên đề cập đến Overriding kể từ khi bạn thêm một số hành vi mới để xe PLUS bạn giữ các hành vi trước đó mà chiếc xe có, trong khi cách tiếp cận thứ hai đề cập đến Ghi đè vì bạn muốn thay đổi hoàn toàn hành vi.

Hy vọng điều này sẽ hữu ích.

+0

giúp tôi rất nhiều ..... cảm ơn bạn rất nhiều –