Методы в дизайне класса

Методы класса

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

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

Примеры и синтаксис

Для примера, чтобы начать писать классы, смотрите, Создают Простой Класс

Для примера кода и синтаксиса, см. Методы и Функции

Для обсуждения того, как создать классы, которые изменяют стандартное поведение MATLAB®, см. Методы, Которые Изменяют Поведение По умолчанию.

Для получения информации об использовании и директора пути и пакеты, чтобы организовать ваши файлы класса, смотрите Файлы Класса и Папки

Для синтаксиса, чтобы использовать при определении классов больше чем в одном файле, см. Методы в Отдельных Файлах

Виды методов

Существуют специализированные виды методов, которые выполняют определенные функции или ведут себя конкретными способами:

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

  • Методы конструктора являются специальными методами, которые создают объекты класса. Метод конструктора должен иметь то же имя как класс и обычно инициализирует значения свойств с данными, полученными из входных параметров. Метод конструктора класса должен объявить по крайней мере один выходной аргумент, который является создаваемым объектом. Первый выход всегда является создаваемым объектом. См. Методы Конструктора класса

  • Методы деструктора называются автоматически, когда объект уничтожается, например, если вы вызываете delete(object) или больше нет никаких ссылок на объект. См. "Деструктор класса указателей"

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

  • Статические методы являются функциями, которые сопоставлены с классом, но не обязательно работают с объектами класса. Эти методы не требуют, чтобы экземпляр класса был сослан во время вызова метода, но обычно выполняют операции, в некотором роде характерные для класса. Смотрите Статические методы

  • Методы преобразования являются перегруженными методами конструктора от других классов, которые позволяют вашему классу преобразовать свои собственные объекты в класс перегруженного конструктора. Например, если ваш класс реализует double метод, затем этот метод называется вместо двойного конструктора класса, чтобы преобразовать ваш объект класса в MATLAB двойной объект. См. Преобразователи объектов для получения дополнительной информации.

  • Абстрактные методы задают класс, который нельзя инстанцировать сам, но служит способом задать общий интерфейс, используемый многочисленными подклассами. Классы, которые содержат абстрактные методы, часто упоминаются как интерфейсы. См. Абстрактные классы для получения дополнительной информации и примеры.

Именование метода

Имя функции, которая реализует метод, может содержать точки (например, set.PropertyName) только если метод является одним из следующего:

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

Похожие темы