Sobes.tech
Junior — Middle

Ի՞նչ ընդհանուր հատկանիշներ են միավորում դասերը և ինտերֆեյսները օբյեկտային ծրագրավորման մեջ։

sobes.tech AI

Պատասխան AI-ից

Օբյեկտային ուղղված ծրագրավորման մեջ դասերը և ինտերֆեյսները մի քանի ընդհանուր հատկանիշներ ունեն.

  • Աբստրակցիա: Երկուսն էլ թույլ են տալիս նկարագրել աբստրակտ տվյալների տեսակներ, թաքցնելով իրականացման մանրամասները:
  • Կարգավիճակի սահմանում: Դասերն ու ինտերֆեյսները սահմանում են մեթոդների հավաքածու, որոնք պետք է իրականացնել:
  • Բազմակողմանիություն: Դասեր և ինտերֆեյսներ միջոցով կարող է իրականացնել բազմակողմանի վարքագիծ, որը թույլ է տալիս օգտագործել տարբեր տիպերի օբյեկտներ միատարր կերպով:
  • Տիպավորում: Երկուսն էլ ծառայում են տիպերի սահմանման համար, որոնք կարող են օգտագործվել փոփոխականների և ֆունկցիայի պարամետրերի հայտարարության համար:

Go լեզվում, ինտերֆեյսները սահմանում են մեթոդների հավաքածու, և չկա դաս որպես այդպիսին, բայց մեթոդներով կառուցված կառուցվածքները կատարում են դասի դեր։ Ինտերֆեյսները նկարագրում են վարքագիծը, իսկ կառուցվածքները պարունակում են տվյալներ և իրականացման մեթոդներ։

Օրինակ Go-ում:

// Ինտերֆեյս
 type Reader interface {
     Read(p []byte) (n int, err error)
 }

// Կառուցվածք, որը իրականացնում է ինտերֆեյսը
 type File struct {}

 func (f File) Read(p []byte) (n int, err error) {
     // իրականացում
     return 0, nil
 }

 func main() {
     var r Reader = File{}
     r.Read(nil)
 }