Trang Chủ Tài chính Cá nhân Factoring và kế thừa trong C + + - núm vú

Factoring và kế thừa trong C + + - núm vú

Video: Building Dynamic Web Apps with Laravel by Eric Ouyang 2025

Video: Building Dynamic Web Apps with Laravel by Eric Ouyang 2025
Anonim

Khái niệm thừa kế, và do đó bao hàm, trong C ++ cho phép một lớp kế thừa các thuộc tính của một lớp cơ sở. Thừa kế có một số mục đích; lợi ích chính của thừa kế là khả năng chỉ ra mối quan hệ giữa các lớp. Đây là cái gọi là mối quan hệ IS_A - Lò vi sóng IS_A Lò và những thứ như thế.

Bao thanh toán là công cụ tuyệt vời nếu bạn thực hiện đúng correlations. Ví dụ, mối quan hệ lò vi sóng so với lò nướng thông thường có vẻ tự nhiên. Yêu cầu rằng lò vi sóng là một loại máy nướng bánh mỳ đặc biệt, và bạn đang gặp rắc rối. Đúng vậy, cả hai đều làm nóng mọi thứ, cả hai đều sử dụng điện, và cả hai đều được tìm thấy trong nhà bếp, nhưng sự giống nhau kết thúc ở đó - lò vi sóng không thể làm bánh mì nướng và máy nướng bánh mỳ không thể làm nachos.

Xác định các lớp vốn có trong một vấn đề và vẽ ra các mối quan hệ chính xác giữa các lớp này là một quá trình gọi là factoring. (Từ này có liên quan đến số học mà bạn buộc phải làm trong trường lớp: phân chia các mẫu số chung ít nhất, ví dụ 12 bằng 2 lần 2 lần 3)

Đây là cách bạn có thể sử dụng kế thừa để đơn giản hóa các chương trình của bạn bằng ví dụ về tài khoản ngân hàng. Giả sử bạn đã được yêu cầu viết một chương trình ngân hàng đơn giản thực hiện khái niệm về một tài khoản tiết kiệm và một tài khoản kiểm tra.

Kiểm tra và Tiết kiệm được thể hiện trong hình này. (Đây chỉ là một trong một số cách biểu thị đồ hoạ giống nhau) Kiểm tra

và Tiết kiệm. "> Các lớp học độc lập

Kiểm tra và Tiết kiệm. Để đọc con số này và các con số khác, hãy nhớ những điều dưới đây:

Hộp lớn là lớp, với tên lớp ở trên cùng.
  • Tên trong hộp là các chức năng thành viên.

  • Các tên không có trong hộp là các thành viên dữ liệu.

  • Các tên kéo dài ra khỏi ô là các thành viên có thể truy cập công cộng; có nghĩa là, các thành viên này có thể được truy cập bởi các chức năng không phải là một phần của lớp hoặc bất kỳ con cháu của nó. Những thành viên hoàn toàn trong hộp không thể truy cập từ bên ngoài lớp học.

  • Một mũi tên dày thể hiện mối quan hệ của IS_A.

  • Một mũi tên mỏng tượng trưng cho mối quan hệ HAS_A.

  • Xe ô tô IS_A

, nhưng Ô tô HAS_A Motor . Bạn có thể thấy trong hình đầu tiên các lớp

Kiểm tra và Tiết kiệm có nhiều điểm chung. Ví dụ, cả hai lớp có chức năng thành viên thu hồi () và gửi tiền ().Bởi vì hai lớp không giống nhau, tuy nhiên, chúng phải giữ nguyên như các lớp riêng biệt. (Trong một ứng dụng ngân hàng thực tế, hai lớp học sẽ có nhiều điểm khác biệt trong ví dụ này). Tuy nhiên, nên có một cách để tránh sự lặp lại này. Bạn có thể có một trong các lớp kế thừa từ lớp khác.

Tiết kiệm có nhiều thành viên hơn Kiểm tra, để bạn có thể để Tiết kiệm kế thừa từ Kiểm tra. Sự sắp xếp này được thể hiện trong hình kế tiếp này. Lớp

Tiết kiệm kế thừa tất cả các thành viên. Lớp học được hoàn thành với việc bổ sung các thành viên dữ liệu không rút tiền và hủy bỏ chức năng thu hồi () . Bạn phải ghi đè bằng cách rút tiền () vì các quy tắc rút tiền từ tài khoản tiết kiệm khác với các khoản rút tiền từ tài khoản séc. Tiết kiệm

được thực hiện như một phân lớp phụ của Kiểm tra. "> Tiết kiệm

được thực hiện như là một phân lớp của Kiểm tra. Mặc dù cho

Tiết kiệm kế thừa từ Kiểm tra đang lao động, nó không hoàn toàn thỏa mãn. Vấn đề chính là, giống như trọng lượng được liệt kê trong giấy phép lái xe của tôi, nó misrepresents sự thật. Mối quan hệ kế thừa này có nghĩa là một tài khoản tiết kiệm là một loại tài khoản kiểm tra đặc biệt, mà nó không phải là. Sự trình bày sai như vậy gây nhầm lẫn cho người lập trình, cả ngày nay và ngày mai. Một ngày nào đó, một lập trình viên không quen thuộc với thủ thuật lập trình của chúng tôi sẽ phải đọc và hiểu mã của chúng tôi là gì. Các biểu hiện gây hiểu nhầm khó hiểu và hiểu.

Ngoài ra, việc trình bày sai như vậy có thể dẫn đến các vấn đề đang xảy ra trên đường. Giả sử, ví dụ, ngân hàng thay đổi các chính sách của mình đối với việc kiểm tra các tài khoản. Nói rằng nó quyết định chỉ tính một khoản phí dịch vụ đối với việc kiểm tra các tài khoản chỉ khi nào số dư tối thiểu giảm xuống dưới một giá trị nhất định trong tháng.

Một thay đổi như thế này có thể dễ dàng xử lý với những thay đổi nhỏ nhất trong lớp

Kiểm tra. Bạn sẽ phải thêm thành viên dữ liệu mới vào lớp Kiểm tra để theo dõi số dư tối thiểu trong tháng. Hãy đi ra ngoài trên một chi và gọi nó là minimumBalance. Nhưng bây giờ bạn gặp vấn đề. Bởi vì

Tiết kiệm thừa hưởng từ Kiểm tra, Tiết kiệm cũng sẽ lấy thành viên dữ liệu mới này. Không có ích gì cho thành viên này vì số dư tối thiểu không ảnh hưởng đến tài khoản tiết kiệm, do đó, nó chỉ ngồi ở đó. Hãy nhớ rằng mọi đối tượng kiểm tra tài khoản đều có thành viên minimumBalance này. Một thành viên dữ liệu bổ sung có thể không phải là một vấn đề lớn, nhưng nó làm tăng thêm nhầm lẫn. Các thay đổi như thế này tích lũy. Hôm nay nó là một thành viên dữ liệu bổ sung - ngày mai nó là một chức năng thành viên thay đổi. Cuối cùng, lớp tài khoản tiết kiệm mang theo rất nhiều hành lý chỉ áp dụng cho việc kiểm tra tài khoản.

Bây giờ ngân hàng quay lại và quyết định thay đổi một số chính sách tiết kiệm. Điều này đòi hỏi bạn phải sửa đổi một số chức năng trong

Kiểm tra. Các thay đổi như thế này trong lớp cơ sở sẽ tự động truyền xuống lớp con trừ khi chức năng đã được ghi đè trong khoản tiết kiệm của lớp con. Chẳng hạn, giả sử rằng ngân hàng quyết định bỏ đi những lò nướng bánh mỳ cho mọi khoản tiền gửi vào tài khoản séc. Nếu không có ngân hàng (hoặc các lập trình viên của nó) biết về nó, tiền gửi để kiểm tra các tài khoản sẽ tự động dẫn đến sự đóng góp của lò nướng bánh mỳ. Trừ khi bạn cẩn thận, thay đổi

Kiểm tra có thể bất ngờ xuất hiện trong Tiết kiệm. Làm thế nào bạn có thể tránh những vấn đề này? Xác nhận rằng

Kiểm tra là trường hợp đặc biệt Tiết kiệm thay đổi nhưng không giải quyết vấn đề của chúng tôi. Những gì bạn cần là lớp thứ ba (gọi nó là Tài khoản 999, chỉ dành cho cười) thể hiện những điều chung giữa Kiểm tra và Tiết kiệm, như được hiển thị ở đây. Kiểm tra và Tiết kiệm

trên lớp Tài khoản thông thường. "> Dựa trên Kiểm tra và

Tiết kiệm trên lớp Tài khoản thông thường. Làm thế nào để xây dựng một tài khoản mới giải quyết vấn đề? Đầu tiên, tạo lớp Tài khoản mới là mô tả chính xác hơn về thế giới thực (bất kể đó là gì). Tất nhiên, thực sự có cái gì đó gọi là tài khoản. Tài khoản tiết kiệm và kiểm tra tài khoản là những trường hợp đặc biệt của khái niệm này cơ bản hơn.

Ngoài ra, lớp Tiết kiệm được cách ly từ những thay đổi đối với lớp

Kiểm tra (và ngược lại). Nếu ngân hàng thay đổi cơ bản cho tất cả các tài khoản, bạn có thể sửa đổi Tài khoản, và tất cả các lớp con sẽ tự động kế thừa sự thay đổi này. Nhưng nếu ngân hàng thay đổi chính sách của mình chỉ để kiểm tra tài khoản, bạn chỉ có thể sửa đổi chỉ là Kiểm tra tài khoản lớp mà không ảnh hưởng đến Tiết kiệm. Quá trình này loại bỏ các tính chất chung từ các lớp tương tự là bản chất của việc phân loại lớp . Bao thanh toán chỉ hợp pháp nếu mối quan hệ thừa kế tương ứng với thực tế. Hợp nhất một

Chuột và

Joystick vì chúng là thiết bị trỏ phần cứng là hợp pháp. Bao gồm một lớp Chuột và Hiển thị bởi vì cả hai đều thực hiện các cuộc gọi hệ thống cấp thấp không.

Factoring và kế thừa trong C + + - núm vú

Lựa chọn của người biên tập

Làm thế nào để Lưu tệp vào OneDrive từ iPad của bạn - núm vú

Làm thế nào để Lưu tệp vào OneDrive từ iPad của bạn - núm vú

Chia sẻ là chăm sóc và bạn có thể lưu tệp Word, Excel hoặc PowerPoint vào iPad hoặc máy tính để bàn của bạn trực tiếp vào thư mục OneDrive. Sau khi tệp tin trên OneDrive, những người khác có quyền truy cập vào thư mục trên OneDrive có thể mở tệp. Họ có thể mở nó trong Văn phòng cho ứng dụng iPad, Office ...

Làm thế nào để liên kết đến một tập tin cục bộ trong Office 2011 for Mac - núm vú

Làm thế nào để liên kết đến một tập tin cục bộ trong Office 2011 for Mac - núm vú

Một trong các công cụ hữu ích nhất trong Office 2011 cho mac là khả năng tạo siêu liên kết đến bất cứ đâu. Bạn có thể liên kết đến bất kỳ tập tin nào trên máy tính của bạn; những tập tin này là các tập tin địa phương. Để kết nối với các tệp cục bộ, bạn có thể sử dụng hai loại liên kết: Tuyệt đối: Loại liên kết này có chứa ...

Cách đăng nhập vào OneDrive từ phần mềm

Cách đăng nhập vào OneDrive từ phần mềm

OneDrive là một thành phần của Office 365, Dịch vụ trực tuyến của Microsoft. Trước khi bạn có thể lưu trữ, chia sẻ, hoặc đồng chỉnh sửa các tập tin trên OneDrive từ iPad, bạn phải đăng nhập vào OneDrive. Đọc tiếp để tìm hiểu cách đăng nhập từ Office cho iPad và đăng nhập từ một trình duyệt web. OneDrive ...

Lựa chọn của người biên tập

Cách sắp xếp các tệp phương tiện cho WordPress Blog của bạn - núm vú

Cách sắp xếp các tệp phương tiện cho WordPress Blog của bạn - núm vú

Nếu bạn đã chạy blog của bạn trong bất kỳ khoảng thời gian nào, bạn có thể dễ dàng quên những tệp bạn đã tải lên bằng trình tải lên WordPress. Thư viện Truyền thông WordPress giúp bạn dễ dàng và dễ dàng khám phá những tệp nào trong thư mục Uploads của bạn. Để tìm tệp hình ảnh, video hoặc âm thanh mà bạn đã tải lên bằng cách sử dụng <

Làm thế nào để tối ưu Blog WordPress của bạn cho Công cụ Tìm kiếm - núm vú

Làm thế nào để tối ưu Blog WordPress của bạn cho Công cụ Tìm kiếm - núm vú

Bạn muốn mọi người tìm thấy blog WordPress của bạn, nếu không bạn sẽ không dành thời gian để viết nó. WordPress được trang bị để tạo ra một môi trường thân thiện với các công cụ tìm kiếm, cho phép họ điều hướng dễ dàng thông qua các kho lưu trữ, các loại và các trang của bạn. WordPress cung cấp môi trường này với một cơ sở mã sạch, nội dung dễ dàng cập nhật thông qua ...

Làm thế nào để Thực hiện Từ khoá trong trang WordPress của bạn với Permalinks

Làm thế nào để Thực hiện Từ khoá trong trang WordPress của bạn với Permalinks

Cho thứ hạng cao hơn cho trang web WordPress của bạn, sử dụng các liên kết tùy chỉnh với từ khoá. Bằng cách sử dụng các liên kết tuỳ chỉnh, bạn tự động chèn từ khoá vào URL của các bài đăng và trang của bạn, cho phép các công cụ tìm kiếm bao gồm các bài đăng và trang đó trong cơ sở dữ liệu thông tin về những chủ đề đó. Nếu trang web của bạn được lưu trữ bởi nhà cung cấp có

Lựa chọn của người biên tập

Làm thế nào để gửi chú thích để chia sẻ chúng trong OneNote 2013 - núm vú

Làm thế nào để gửi chú thích để chia sẻ chúng trong OneNote 2013 - núm vú

Một trong những phương pháp đơn giản chia sẻ một ghi chú với OneNote 2013 bằng cách gửi nó dưới dạng tệp tin tới người nhận e-mail hoặc thậm chí với Microsoft Word hoặc blog của bạn. Để gửi lưu ý hiện tại dưới dạng tệp tin, hãy làm theo các bước sau: Mở ghi chú mà bạn muốn chia sẻ trong OneNote 2013 và chọn <...

Làm thế nào để Đồng bộ hóa Ghi chú trong OneNote 2013 - núm vú

Làm thế nào để Đồng bộ hóa Ghi chú trong OneNote 2013 - núm vú

OneNote 2013 khoảng cách bản thân từ khái niệm toàn bộ các tệp lưu thủ công trong lợi của đồng bộ hóa chúng. Bạn có thể đồng bộ tập tin tự động hoặc thủ công. Điều này cho phép bạn tự do khi quản lý các tệp của mình. Làm thế nào để đồng bộ tự động trong OneNote OneNote tự động lưu các ghi chú của bạn mỗi khi bạn thực hiện bất kỳ thay đổi ở tất cả để một máy tính xách tay, phần, ...

Cách Quản lý Máy tính xách tay OneNote 2013 với SkyDrive - núm vú

Cách Quản lý Máy tính xách tay OneNote 2013 với SkyDrive - núm vú

SkyDrive có thể truy cập qua đám mây, 't có một ứng dụng SkyDrive được cài đặt trên thiết bị. Điều này giúp bạn dễ dàng quản lý máy tính xách tay OneNote 2013 từ bất kỳ thiết bị nào có truy cập internet. Cách quản lý máy tính xách tay với SkyDrive trên web Bạn có thể truy cập dịch vụ từ bất cứ thiết bị nào bạn đang sử dụng miễn là nó hỗ trợ