Разное

Класс и объект: 13-1. Введение в ООП. Классы и объекты

Содержание

Объектно-ориентированное программирование. Классы и объекты

Сегодня мы поговорим об объектно-ориентированном программировании и о его применении в python.

Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

Класс — тип, описывающий устройство объектов. Объект — это экземпляр класса. Класс можно сравнить с чертежом, по которому создаются объекты.

Python соответствует принципам объектно-ориентированного программирования. В python всё является объектами — и строки, и списки, и словари, и всё остальное.

Но возможности ООП в python этим не ограничены. Программист может написать свой тип данных (класс), определить в нём свои методы.

Это не является обязательным — мы можем пользоваться только встроенными объектами. Однако ООП полезно при долгосрочной разработке программы несколькими людьми, так как упрощает понимание кода.

Приступим теперь собственно к написанию своих классов на python.

Попробуем определить собственный класс:

>>> # Пример простейшего класса, который ничего не делает
... class A:
...     pass

Теперь мы можем создать несколько экземпляров этого класса:

>>> a = A()
>>> b = A()
>>> a.arg = 1  # у экземпляра a появился атрибут arg, равный 1
>>> b.arg = 2  # а у экземпляра b - атрибут arg, равный 2
>>> print(a.arg)
1
>>> print(b.arg)
2
>>> c = A()
>>> print(c.arg)  # а у этого экземпляра нет arg
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'A' object has no attribute 'arg'

Классу возможно задать собственные методы:

>>> class A:
...     def g(self): # self - обязательный аргумент, содержащий в себе экземпляр
...                  # класса, передающийся при вызове метода,
...                  # поэтому этот аргумент должен присутствовать
...                  # во всех методах класса.
... return 'hello world' ... >>> a = A() >>> a.g() 'hello world'

И напоследок еще один пример:

>>> class B:
...     arg = 'Python' # Все экземпляры этого класса будут иметь атрибут arg,
...                    # равный "Python"
...                    # Но впоследствии мы его можем изменить
...     def g(self):
...         return self.arg
...
>>> b = B()
>>> b.g()
'Python'
>>> B.g(b)
'Python'
>>> b.arg = 'spam'
>>> b.g()
'spam'

Для вставки кода на Python в комментарий заключайте его в теги <pre><code>Ваш код</code></pre>

Свежее

  • Модуль csv — чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ

Категории

  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов

Полезные материалы

  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

Мы в соцсетях

Объекты и классы — Visual Basic

  • Статья
  • Чтение занимает 10 мин

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

При создании приложения в Visual Basic вы постоянно работаете с объектами. Объекты, предоставляемые Visual Basic, такие как элементы управления, формы и объекты доступа к данным. Вы также можете использовать объекты из других приложений в приложении Visual Basic. Вы даже можете создать собственные объекты и определить для них дополнительные свойства и методы. Объекты выполняют функцию готовых блоков для создания программ — вы можете один раз написать фрагмент кода и использовать его многократно.

В этой статье мы подробно расскажем вам про объекты.

Объекты и классы

Каждый объект в Visual Basic определяется классом. Класс описывает переменные, свойства, процедуры и события объекта. Объекты являются экземплярами классов. Определив класс, вы можете создать из него любое количество объектов.

Взаимосвязь между объектом и его классом можно проиллюстрировать на примере печенья и формочки для печенья. Форма для печенья — это класс. Она определяет характеристики каждого печенья, то есть размер и форму. Класс используется для создания объектов. Отдельные печенья — это и есть объекты.

Прежде чем получить доступ к его членам, необходимо создать объект, за исключением Shared членов, к которым можно получить доступ без объекта класса.

Создание объекта из класса

  1. Определите, из какого класса вы хотите создать объект или определите собственный класс. Например:

    Public Class Customer
        Public Property AccountNumber As Integer
    End Class
    
  2. Напишите оператор Dim для создания переменной, значением которой будет новый экземпляр класса. Переменная должна иметь тип, соответствующий нужному классу.

    Dim nextCustomer As Customer
    
  3. Добавьте ключевое слово New Operator, сохранить новый экземпляр класса в переменную.

    Dim nextCustomer As New Customer
    
  4. Теперь члены класса будут доступны через переменную объекта.

    nextCustomer.AccountNumber = lastAccountNumber + 1
    

Примечание

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

позднее связывание, объявив переменную с типом данных объекта. Но помните, что позднее связывание может снижать производительность и ограничивать доступ к членам объекта во время выполнения. Дополнительные сведения см. в статье Object Variable Declaration (Объявление объектной переменной).

Несколько экземпляров

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

Члены объекта

Объект является элементом приложения и представляет собой экземпляр некоторого класса. Поля, свойства, методы и события являются составными частями объекта, и совокупно именуются членами объекта.

Доступ к членам

Чтобы обратиться к члену объекта, нужно указать имя соответствующей переменной объекта и имя нужного члена, отделив его точкой (.). В следующем примере задается свойство Text объекта Label.

warningLabel.Text = "Data not saved"
Список членов IntelliSense

Технология IntelliSense перечисляет члены класса, когда вы обращаетесь к функции списка членов, например вводите точку (.) в контексте доступа к члену. Если точка ставится после имени переменной, объявленной как экземпляр некоторого класса, IntelliSense перечисляет все члены экземпляра, но опускает общие члены. Если точка ставится после имени класса, то IntelliSense перечисляет все общие члены, но опускает члены экземпляра. Дополнительные сведения см. в разделе Using IntelliSense.

Поля и свойства

Поля и свойства представляют сведения, содержащиеся в объекте. Их значения можно задавать и получать с помощью инструкций присваивания, так же как для локальных переменных в процедуре. В следующем примере мы получаем значение свойства Width и устанавливаем значение свойства ForeColor для объекта Label.

Dim warningWidth As Integer = warningLabel.Width
warningLabel.ForeColor = System.Drawing.Color.Red

Поле можно также называть переменная-член.

Процедуры свойств удобно использовать в следующих случаях.

  • Вы хотите контролировать, когда и как значения будут задаваться и извлекаться.

  • Свойство имеет строго определенный набор значений, которые требуется проверять.

  • Изменение значения приводит к существенному изменению состояния объекта (как, например, значение свойства IsVisible).

  • Изменение значения свойства изменяет другие внутренние переменные или значения других свойств.

  • Перед установкой или получением свойства необходимо выполнить определенный набор действий.

Если выполняются следующие условия, можно использовать поля.

  • Значение имеет тип, для которого существует встроенная проверка. Например, если присвоить переменной типа

    Boolean любое значение, кроме True или False, создается ошибка или выполняется автоматическое преобразование данных.

  • Допустимым является любое значение из диапазона, поддерживаемого для этого типа данных. Это справедливо для многих свойств с типами Single или Double.

  • Свойство имеет тип данных String и не имеет ограничений на размер или значение строки.

  • Дополнительные сведения см. в статье Property Procedures (Visual Basic) (Процедуры свойств в Visual Basic).

Совет

Всегда сохраняйте закрытые неконстантные поля. Если вы хотите сделать его общедоступным, используйте свойство.

Методы

Действие, которое выполняет объект, называется методом. Например, Add — это метод объекта ComboBox, который добавляет новую запись в поле со списком.

В следующем примере иллюстрируется использование метода Start объекта Timer.

Dim safetyTimer As New System.Windows.Forms.Timer
safetyTimer.Start()

По сути метод — это просто процедура, предоставляемая объектом.

Дополнительные сведения см. в разделе Procedures in Visual Basic (Процедуры в Visual Basic).

События

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

Вы можете разработать собственные события, которые будут создаваться и обрабатываться созданными вами объектами. Дополнительные сведения см. в статье Events (Visual Basic) (События в Visual Basic).

Члены экземпляров и общие члены

Когда вы создаете объект на основе класса, вы получаете экземпляр этого класса. Члены, которые объявлены без ключевого слова Shared, являются членами экземпляра, то есть принадлежат исключительно одному определенному экземпляру. Член экземпляра в одном экземпляре никак не зависит от такого же члена в другом экземпляре того же класса. Например, переменная-член экземпляра может иметь разные значения в разных экземплярах.

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

Доступ к не общим членам
  1. Убедитесь, что объект уже создан на основе нужного класса и сохранен в объектной переменной.

    Dim secondForm As New System.Windows.Forms.Form
    
  2. В инструкции, которая обращается к члену, следуйте имени объектной переменной с помощью оператора доступа к члену (.), а затем имени члена.

    secondForm.Show()
    
Доступ к общим членам
  • Следуйте имени класса с помощью оператора доступа к члену (.), а затем имени члена. К члену объекта, объявленному с ключевым словом Shared

    , нужно всегда обращаться напрямую через имя класса.

    Console.WriteLine("This computer is called " & Environment.MachineName)
    
  • Если вы уже создали из этого класса объект, вы можете обращаться к члену, объявленному с ключевым словом Shared, и через переменную этого объекта.

Различия между классами и модулями

Основное различие между классами и модулями заключается в том, что для классов можно создавать экземпляры в качестве объектов. Модули таким свойством не обладают. Поскольку все данные стандартного модуля существуют только в одной копии, любые изменения общей переменной стандартного модуля, выполненные в любой части программы, будут влиять на все остальные обращения к значению этой переменной. Данные объекта, наоборот, существуют отдельно для каждого созданного экземпляра объекта. Еще одно важное различие состоит в том, что классы могут реализовывать интерфейсы, а модули — нет. Если класс помечен модификатором MustInherit , его нельзя создать напрямую. Однако он по-прежнему отличается от модуля, так как его можно наследовать, пока модули не могут наследоваться.

Примечание

Если к члену класса применяется модификатор Shared, он устанавливается для класса в целом, а не для конкретного экземпляра класса. Прямой доступ к члену осуществляется через имя класса, так же как и к членам модуля.

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

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

Повторное использование классов и объектов

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

.NET предоставляет множество примеров компонентов, доступных для использования. В следующем примере используется класс TimeZone в пространстве имен System. Члены класса TimeZone позволяют получить сведения о часовом поясе, выбранном на компьютере.

Public Sub ExamineTimeZone()
    Dim tz As System.TimeZone = System.TimeZone.CurrentTimeZone
    Dim s As String = "Current time zone is "
    s &= CStr(tz.GetUtcOffset(Now).Hours) & " hours and "
    s &= CStr(tz.GetUtcOffset(Now).Minutes) & " minutes "
    s &= "different from UTC (coordinated universal time)"
    s &= vbCrLf & "and is currently "
    If tz.IsDaylightSavingTime(Now) = False Then s &= "not "
    s &= "on ""summer time"". "
    Console.WriteLine(s)
End Sub

В предыдущем примере первый оператор Dim объявляет переменную объекта типа TimeZone и присваивает ей объект TimeZone, который возвращается свойством CurrentTimeZone.

Отношения между объектами

Между объектами могут существовать связи нескольких видов. В первую очередь эти связи подразделяются на иерархию и вложенность.

Иерархические связи

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

Для следующего примера предположим, что нам нужен особый вид объекта Button, который действует как обычная кнопка Button, но в дополнение имеет метод, меняющий местами цвет фона и цвет переднего плана.

Определение класса, производного от уже существующего класса
  1. С помощью инструкции Class определите класс, из которого вы будете создавать нужный объект.

    Public Class ReversibleButton
    

    Код определения класса должен завершаться строкой End Class. По умолчанию интегрированная среда разработки (IDE) автоматически создает End Class при вводе инструкции Class.

  2. Сразу за инструкцией Class создайте инструкцию Inherits. Укажите класс, производным от которого будет этот новый класс.

    Inherits System.Windows.Forms.Button
    

    Новый класс наследует все члены, определенные в базовом классе.

  3. Добавьте код для дополнительных элементов, которые будет предоставлять производный класс. Например, вы можете добавить метод ReverseColors, тогда определение производного класса будет выглядеть примерно так:

    Public Class ReversibleButton
        Inherits System.Windows.Forms.Button
            Public Sub ReverseColors()
                Dim saveColor As System.Drawing.Color = Me.BackColor
                Me.BackColor = Me.ForeColor
                Me. ForeColor = saveColor
           End Sub
    End Class
    

    При создании объекта из ReversibleButton класса он может получить доступ ко всем членам Button класса, а также ReverseColors к методу и другим новым членам, которые вы определяете.ReversibleButton

Производные классы наследуют члены класса, на котором они основаны, что позволяет постепенно повышать сложность при продвижении по иерархии классов. Дополнительные сведения см. в статье Inheritance Basics (Visual Basic) (Основная информация о наследовании в Visual Basic).

Компиляция кода

Убедитесь, что компилятор сможет получить доступ к классу, на основе которого вы намерены создать новый класс. Возможно, для этого придется указать его полное имя, как в предыдущем примере, или определить его пространства имен в операторе Imports. Если класс находится в другом проекте, может потребоваться ссылка на этот проект. Дополнительные сведения см. в статье Управление ссылками в проекте.

Отношение вложения

Также объекты могут быть связаны отношением вложения. Объекты-контейнеры на логическом уровне содержат в себе другие объекты. Например, объект OperatingSystem логически содержит объект Version, который он возвращает с помощью свойства Version. Важно понимать, что физически объект-контейнер не содержит в себе других объектов.

Коллекции

В качестве примера объектов-контейнеров можно привести коллекции. Коллекции представляют собой группы однотипных перечисляемых объектов. Visual Basic поддерживает определенный синтаксис в for Each… Следующая инструкция, позволяющая выполнять итерацию элементов коллекции. Кроме того, коллекции часто позволяют использовать свойство Item[] для обращения к элементам по индексу или по уникальной строке. Коллекции иногда проще в использовании, чем массивы, поскольку они позволяют добавлять или удалять элементы без использования индексов. Благодаря простоте использования коллекции часто применяются для хранения форм и элементов управления.

Пошаговое руководство. Определение классов
Пошаговые инструкции по созданию класса.

Перегруженные свойства и методы
Перегруженные свойства и методы

Основы наследования
Описание модификаторов наследования, переопределения методов и свойств, MyClass и MyBase.

Время существования: создание и уничтожение объектов
Вопросы создания и уничтожения экземпляров классов.

Анонимные типы
Описание создания и использования анонимных типов, которые позволяют создавать объекты без определения класса для типа данных.

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

Практическое руководство. Выведение имен свойств и типов в объявлениях анонимных типов
Обсуждение имен свойств и типов в контексте объявлений анонимных типов. Содержит примеры успешного и неуспешного вывода.

Классы и объекты Python (с примерами)

В этом руководстве мы узнаем о классах и объектах Python с помощью примеров.

В прошлом уроке мы узнали об ООП Python. Мы знаем, что Python также поддерживает концепцию объектов и классов.

Объект — это просто набор данных (переменных) и методов (функций). Точно так же класс является планом для этого объекта.

Прежде чем мы узнаем об объектах, давайте сначала узнаем о классах в Python.


Классы Python

Класс рассматривается как план объектов. Мы можем думать о классе как о эскизе (прототипе) дома. В нем указаны все подробности об этажах, дверях, окнах и т. д. На основе этих описаний мы строим дом. Дом – это объект.

Поскольку по одному и тому же описанию можно построить множество домов, мы можем создать множество объектов из класса.


Определить класс Python

Мы используем ключевое слово class для создания класса в Python. Например,

 класс ClassName:
    # определение класса 

Здесь мы создали класс с именем ClassName .

Давайте посмотрим пример,

 класс Велосипед:
    имя = ""
    gear = 0 

Здесь

  • Велосипед — имя класса
  • name/gear — переменные внутри класса со значениями по умолчанию "" и 0 соответственно.

Примечание : переменные внутри класса называются атрибутами.


Объекты Python

Объект называется экземпляром класса. Например, предположим, что Bike — это класс, тогда мы можем создать такие объекты, как bike1 , bike2 и т. д. из класса.

Вот синтаксис для создания объекта.

 objectName = ClassName() 

Рассмотрим пример,

 # создать класс
класс Байк:
    имя = ""
    шестерня = 0
# создать объекты класса
bike1 = Bike() 

Здесь bike1 является объектом класса. Теперь мы можем использовать этот объект для доступа к атрибутам класса.


Атрибуты класса доступа с использованием объектов

Мы используем . для доступа к атрибутам класса. Например,

 # изменить атрибут имени
bike1.name = "Горный велосипед"
# доступ к атрибуту шестеренки
bike1.gear 

Здесь мы использовали bike1. name и bike1.gear для изменения и доступа к значению name и шестерня атрибут соответственно.


Пример 1: класс и объекты Python

 # определить класс
класс Байк:
    имя = ""
    шестерня = 0
# создать объект класса
велосипед1 = велосипед()
# получить доступ к атрибутам и присвоить новые значения
велосипед1.шестерня = 11
bike1.name = "Горный велосипед"
print(f"Name: {bike1.name}, Gears: {bike1.gear} ") 

Вывод

  Название: Mountain Bike, Gears: 11  

В приведенном выше примере мы определили класс с именем 9.0021 Велосипед с двумя атрибутами: имя и снаряжение .

Мы также создали объект bike1 класса Bike .

Наконец, мы получили доступ и изменили атрибуты объекта с помощью . Обозначение .


Создание нескольких объектов класса Python

Мы также можем создать несколько объектов из одного класса. Например,

 # определить класс
класс Сотрудник:
    # определить атрибут
    идентификатор_сотрудника = 0
# создаем два объекта класса Employee
Сотрудник1 = Сотрудник()
Сотрудник2 = Сотрудник()
# доступ к атрибутам с помощью employee1
сотрудник1.employeeID = 1001
print(f"Идентификатор сотрудника: {employee1.employeeID}")
# доступ к атрибутам с помощью employee2
Сотрудник2.employeeID = 1002
print(f"ID сотрудника: {employee2.employeeID}") 

Выход

  Идентификатор сотрудника: 1001
Идентификатор сотрудника: 1002  

В приведенном выше примере мы создали два объекта Employee1 и Employee2 класса Employee .


Методы Python

Мы также можем определить функцию внутри класса Python. Функция Python, определенная внутри класса, называется методом.

Давайте посмотрим пример,

 # создаем класс
класс:
    длина = 0,0
    ширина = 0,0
    
    # метод вычисления площади
    def calculate_area (я):
        print("Площадь комнаты =", self. length * self.breadth)
# создать объект класса Room
Study_room = Комната()
# присваиваем значения всем атрибутам
Study_room.length = 42,5
Study_room.breadth = 30,8
# метод доступа внутри класса
Study_room.calculate_area() 

Выход

  Площадь комнаты = 1309.0  

В приведенном выше примере мы создали класс с именем Комната с:

  • Атрибуты : длина и ширина
  • 222
  • Метод : calculate_area()

Здесь мы создали объект с именем Study_room из класса Room . Затем мы использовали объект для присвоения значений атрибутам: длина и ширина .

Обратите внимание, что мы также использовали объект для вызова метода внутри класса,

 Study_room.calculate_area() 

Здесь мы использовали . для вызова метода. Наконец, оператор внутри метода выполняется.


Конструкторы Python

Ранее мы присвоили значение по умолчанию атрибуту класса,

 class Bike:
    имя = ""
...
# создать объект
велосипед1 = велосипед() 

Однако мы также можем инициализировать значения с помощью конструкторов. Например,

 класс Велосипед:
    # функция-конструктор
    def __init__(я, имя = ""):
        self.name = имя
bike1 = Bike() 

Здесь __init__() — это функция-конструктор, которая вызывается всякий раз, когда создается экземпляр нового объекта этого класса.

Приведенный выше конструктор инициализирует значение атрибута имени . Мы использовали self.name для обозначения имя атрибут объекта bike1 .

Если мы используем конструктор для инициализации значений внутри класса, нам нужно передать соответствующее значение во время создания объекта класса.

 bike1 = Bike("Горный велосипед") 

Здесь "Горный велосипед" передается параметру name __init__() .


Классы и объекты C++

❮ Предыдущая Далее ❯


Классы/объекты C++

C++ — это объектно-ориентированный язык программирования.

Все в C++ связано с классами и объектами вместе с их атрибутами и методы. Например: в реальной жизни автомобиль — это объект . Автомобиль имеет атрибутов , таких как вес и цвет, и методы , такие как привод и торможение.

Атрибуты и методы в основном переменные и функции , принадлежащие классу. Их часто называют «члены класса».

Класс — это определяемый пользователем тип данных, который мы можем использовать в нашей программе. работает как конструктор объектов или «чертеж» для создания объектов.


Создайте класс

Чтобы создать класс, используйте ключевое слово class :

Пример

Создайте класс с именем « MyClass »:

class MyClass { // Класс
 публичный: // Спецификатор доступа
    int myNum; // Атрибут (целочисленная переменная)
    строка myString; // Атрибут (строковая переменная)
};

Объяснение примера

  • Ключевое слово class используется для создания класса MyClass .
  • Ключевое слово public — это спецификатор доступа , который указывает, что члены (атрибуты и методы) класса доступны извне класса. Вы узнаете больше о спецификаторах доступа позже.
  • Внутри класса есть целочисленная переменная myNum и строковая переменная myString . Когда объявлены переменные внутри класса они называются атрибутами .
  • Наконец, завершите определение класса точкой с запятой ; .

Создание объекта

В C++ объект создается из класса. Мы уже создали класс с именем MyClass , так что теперь мы можем использовать это для создания объектов.

Чтобы создать объект MyClass , укажите имя класса, за которым следует имя объекта.

Для доступа к атрибутам класса ( myNum и myString ) используйте синтаксис с точкой (. ) на объекте:

Пример

Создайте объект с именем « myObj » и доступ атрибуты:

class MyClass {       // Класс
  public: // Спецификатор доступа
    int myNum; // Атрибут (переменная int)
    string myString; // Атрибут (строковая переменная)
};

интервал основной () {
  Мой Класс мой Объект ; // Создать объект MyClass

  // Доступ к атрибутам и установка значений
  myObj. myNum = 15;
  myObj.myString = «Некоторый текст»;

  // Печать значений атрибутов
cout << myObj.myNum << "\n";
  cout << myObj.myString;
  вернуть 0;
}

Попробуйте сами »



Несколько объектов

Вы можете создать несколько объектов одного класса:

Пример

// Создаем класс Car с некоторыми атрибутами
class Car {
  public:
    string brand;
    строковая модель;
    целое число год;
};

int main() {
  // Создание объекта Car
  Car carObj1;
  carObj1.brand = «BMW»;
carObj1.model = «X5»;
carObj1.year = 1999;

// Создаем еще один объект Car
  Car автомобильОбж2;
  carObj2.brand = «Форд»;
  carObj2.model = «Мустанг»;
carObj2.year = 1969;

  // Печать значения атрибута
  cout << carObj1. brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  вернуть 0;
}

Попробуйте сами »


Упражнения C++

Проверьте себя с помощью упражнений

Упражнение:

Создайте объект из MyClass называется myObj .

Начать упражнение

❮ Предыдущий Следующий ❯


НАБОР ЦВЕТА



Лучшие учебники
Учебник по HTML
Учебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery

9003

26 Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *