Что такое класс и объект в Голанге?

Cto Takoe Klass I Ob Ekt V Golange



Фундаментальные идеи компьютерного программирования, такие как сорт и объект предоставить структуру для группировки кода в повторно используемые и адаптируемые модули. Голанг имеет свой собственный отличительный синтаксис, особенности и философию. В отличие от других языков, решение не так очевидно, когда речь идет о понятиях сорт и объект в Идти . В этой статье мы рассмотрим, есть ли в Go концепция сорт и объект и как он сравнивается с другими языками программирования.

Что такое класс и объект?

Прежде чем мы сможем ответить, Идти имеет классы и объекты , нам сначала нужно определить, что они собой представляют в контексте программирования. А сорт модель или шаблон, описывающий характеристики и действия набора объекты . Ан объект создается как экземпляр сорт когда выделяется память и ее состояние инициализируется во время выполнения. Классы и объекты являются ключевыми строительными блоками классических объектно-ориентированных языков программирования, таких как Java, C++ или C#, которые поддерживают полиморфизм, наследование и инкапсуляцию.

Структуры в Голанге

В Иди, классы заменяются определяемыми пользователем типами данных, называемыми структуры. Эти структуры объединять несколько элементов или свойств и разрешать включение методов — функций, которые работают с экземплярами структура. Пока структуры иметь некоторое сходство с классы такие как наследование и интерфейсы, также есть заметные различия. Например, Идти не имеет конструктора — уникальный метод, который инициализирует состояние объекта при создании, как это обычно встречается в языках на основе классов.







Интерфейсы в Голанге

Идти есть концепция, похожая на объекты : интерфейсы . Ан интерфейс представляет собой набор методов, описывающих поведение или функциональные возможности, но без указания того, как они реализованы. Интерфейсы обеспечить способ достижения полиморфизма в Идти , что позволяет взаимозаменяемо использовать разные типы, если они удовлетворяют требованиям интерфейса. Это мощная концепция, которая позволяет Идти для достижения высокой степени гибкости и расширяемости без ущерба для производительности или простоты.



Использование структур и интерфейсов в Golang

Следующий пример иллюстрирует использование структура и интерфейсы в Идти .



основной пакет
Импортировать 'ФМТ'

тип человека структура {
строка имени
}

тип Рабочий структура {
Человек
строка задания
}

функция ( h Человек ) Информация ( ) {
ФМТ. Принтф ( 'Я %s \n ' , час имя )
}

функция ( w Рабочий ) Информация ( ) {
ФМТ. Принтф ( 'Я %s. Я %s. \n ' , В. имя , В. работа )
}

тип Пользовательский интерфейс {
Информация ( )
}
функция ( ) {
Джон '=' Рабочий { Человек { 'Джон' } , 'рабочий' }
Доу '=' Человек { 'Доу' }

Джон. Информация ( )
Доу. Информация ( )

был лично

я '=' Джон
я. Информация ( )

я '=' Доу
я. Информация ( )
}

Мы создали два структуры , Человек и Рабочий , в приведенном выше коде. Затем создаются функции, печатающие сообщения. структуры называются в основной () функция Человек интерфейс . Мы можем видеть, что Информация метод был реализован как Рабочий и Человек , поэтому переменная i с типом Человек интерфейс будет работать правильно и распечатает вывод.





Выход



Идти имеет уникальный подход к инкапсуляция . Инкапсуляция в обычном объектно-ориентированном программировании это достигается за счет того, что поля делаются закрытыми и доступными через методы получения и установки. В Идти , инкапсуляция достигается за счет использования имен полей в нижнем регистре, которые видны только внутри одного пакета. Эта стратегия более прямолинейна и недвусмысленна, что упрощает понимание поведения кода и снижает вероятность непредвиденных побочных эффектов.

Идти обеспечивает упрощенную форму полиморфизм . Объектно-ориентированное программирование имеет функцию, называемую полиморфизм что позволяет рассматривать объекты из разных классов как экземпляры одного и того же класса. Идти не обеспечивает традиционное наследование на основе классов, но поддерживает интерфейсы, которые можно использовать для указания набора методов, которые должна реализовать структура. Идти также предлагает утверждения типа, которые позволяют программистам проверять содержимое переменной интерфейса и получать базовое конкретное значение.

Заключение

Идти не имеет классы или объекты в классическом понимании; вместо этого он использует структуры и интерфейсы , которые предлагают сопоставимую функциональность, но более простым и легким способом. Идти завоевал популярность среди разработчиков, которые отдают предпочтение простоте, удобочитаемости и производительности, придерживаясь другой философии и грамматики. Хотя знакомство с Го методология может занять некоторое время, ее отличительные особенности и дизайн приводят к более эффективному и удобному коду.