Tôi có một cấu trúc lớp nhưTại sao hàm tạo cơ sở() không cần thiết?
abstract class Animal {
public Animal(){
//init stuff..
}
}
class Cat : Animal {
public Cat(bool is_keyboard) : base() //NOTE here
{
//other init stuff
}
}
Bây giờ sau đó, nhìn vào dòng ghi nhận. Nếu bạn xóa : base()
thì nó sẽ biên dịch mà không có lỗi.
Tại sao điều này? Có cách nào để vô hiệu hóa hành vi này không?
Cool, bạn học một cái gì đó hàng ngày ... Tôi đã luôn đặt một cách rõ ràng cơ sở(), có lẽ sẽ tiếp tục làm như vậy bởi vì có bao nhiêu nhà phát triển nhận ra có là một cuộc gọi ngầm đến nó? – slugster
Ngoài ra, tôi tìm thấy bài viết tiện lợi của Skeet đã kể cho tôi tất cả về nó: http://www.yoda.arachsys.com/csharp/constructors.html – Earlz
@slugster, tôi đã không nhận ra nó ... vì vậy yea. – Earlz