Câu hỏi được gắn thẻ «inheritance»

Kế thừa là một cách để sử dụng lại mã của các đối tượng hiện có hoặc để thiết lập một kiểu con từ một đối tượng hiện có hoặc cả hai, tùy thuộc vào hỗ trợ ngôn ngữ lập trình.




5
Tôi nên thích thành phần hoặc kế thừa trong kịch bản này?
Hãy xem xét một giao diện: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Giao diện này được thực hiện bởi một số lớp tạo ra các sóng có hình dạng khác nhau (ví dụ, SineWaveGeneratorvà SquareWaveGenerator). Tôi muốn thực hiện một lớp tạo ra SoundWavedựa trên dữ liệu …




5
Có bao giờ ổn khi vi phạm LSP?
Tôi đang theo dõi câu hỏi này , nhưng tôi đang chuyển trọng tâm của mình từ mã sang nguyên tắc. Từ sự hiểu biết của tôi về nguyên tắc thay thế Liskov (LSP), bất kể phương pháp này trong lớp cơ sở của tôi, họ phải được thực hiện …

1
Có một tình huống sẽ tốt hơn nếu sử dụng các tài liệu tham khảo yếu thay vì thành phần đơn giản?
Mặc dù tài liệu Java chỉ định, mà tài liệu tham khảo yếu là chủ yếu cho canonicalizing ánh xạ, bạn sẽ tìm thấy nhiều , nhiều , nhiều người trên internet nêu, rằng WeakHashMap là hoàn hảo để lưu trữ siêu dữ liệu đối tượng trong suốt cuộc đời …

2
Là thừa kế của Python có phải là kiểu phong cách thừa kế hay phong cách sáng tác của Python không?
Cho rằng Python cho phép nhiều kế thừa, thừa kế thành ngữ trong Python trông như thế nào? Trong các ngôn ngữ có tính kế thừa duy nhất, như Java, tính kế thừa sẽ được sử dụng khi bạn có thể nói rằng một đối tượng "là-a" của một đối …


12
Là một phương thức Nếu một phương thức được sử dụng lại mà không thay đổi, hãy đặt phương thức đó vào một lớp cơ sở, nếu không thì tạo một giao diện, một quy tắc tốt?
Một đồng nghiệp của tôi đã đưa ra một quy tắc ngón tay cái để lựa chọn giữa việc tạo một lớp cơ sở hoặc một giao diện. Anh ta nói: Hãy tưởng tượng mọi phương pháp mới mà bạn sắp thực hiện. Đối với mỗi người trong số họ, …




Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.