Junior — Middle
Obyektga yo'naltirilgan dasturlashda sinflar va interfeyslarni birlashtiradigan umumiy xususiyatlar nimalardir?
sobes.tech AI
AIdan javob
Obyektga yo'naltirilgan dasturlashda sinflar va interfeyslar bir nechta umumiy xususiyatlarni bo'lishadi:
- Abstraktsiya: Ikkala ham abstrakt ma'lumot turlarini tasvirlashga imkon beradi, amalga oshirish tafsilotlarini yashiradi.
- Xulq-atvorni aniqlash: Ikkala sinf va interfeyslar bajarilishi kerak bo'lgan metodlar to'plamini belgilaydi.
- Polimorfizm: Sinflar va interfeyslar orqali polimorf xulq-atvorni amalga oshirish mumkin, bu turli turlardagi obyektlarni bir xil tarzda ishlatishga imkon beradi.
- Tiplash: Ikkala ham o'zgaruvchilar va funktsiya parametrlarini e'lon qilish uchun ishlatiladigan turlarni aniqlash uchun xizmat qiladi.
Go tilida, interfeyslar metodlar to'plamini belgilaydi, va sinf degan narsa mavjud emas, lekin metodlar bilan tuzilgan tuzilmalar sinf rolini bajaradi. Interfeyslar xulq-atvorni tasvirlaydi, tuzilmalar esa ma'lumotlar va amalga oshirishni o'z ichiga oladi.
Go misoli:
// Interfeys
type Reader interface {
Read(p []byte) (n int, err error)
}
// Interfeysni amalga oshiradigan metodga ega tuzilma
type File struct {}
func (f File) Read(p []byte) (n int, err error) {
// amalga oshirish
return 0, nil
}
func main() {
var r Reader = File{}
r.Read(nil)
}