Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Defining and instantiating classes Определение и создание экземпляра классы

Using dictionaries | Using dictionaries Использование словарей | Understanding tuples | Understanding tuples Понимание кортежи | Creating optional variables | Creating optional variables Создание дополнительных переменных | Defining and using enumerations | Defining and using enumerations | Writing closures | Writing closures Написание закрытия |


Читайте также:
  1. Attribute – определение
  2. B)& Решение, определение, постановление и судебный приказ
  3. Creating and using arrays Создание и использование массивов
  4. Creating constants Создание константы
  5. Creating loops in Swift Создание петель в Swift
  6. Creating optional variables Создание дополнительных переменных
  7. Defining and instantiating classes

 

3. Создание классов

 

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

В настоящее время в более крупного проекта мы обычно поставить новый класс в отдельный файл, но для наших целей здесь я могу просто написать это определение класса в этом площадке. Таким образом, мы описали данные и поведение, что этот класс будет предоставляются, начиная со свойствами и методами. Ну, это не может быть проще, основной Swift свойство просто переменная или константа, который определяется внутри класса. Там нет никакой собственности ключевое слово необходимо в Свифт. Нам не нужно, чтобы написать добытчиками или сеттеры здесь. Если вы пишете переменную внутри класса, это переменная собственности.

Вы пишете постоянна внутри класса, это постоянная собственность. Теперь еще один комментарий для Objective-C людей, остальные можно игнорировать следующее предложение. Мы не должны беспокоиться о переменных экземпляра, и синтезаторов и бэк-магазинах, это все заботятся. Он просто работает, аллилуйя. Ладно, синтаксис здесь аналогична созданию переменные и константы вне класса, применяются те же правила. Если Swift не можем вывести тип данных от некоторого начального значения мы должны предоставить тип данных.Тип аннотации здесь это имя строки и заработать очки Int.

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

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

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

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

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

Это будет создавать новый экземпляр объекта класса игрока. В Свифт мы не должны ключевое слово как новый, мы не должны Alloc, мы не должны Init, это он. Теперь у нас есть новый объект класса игрока. Я могу даже увидеть подсказку здесь, что у нас есть этот объект. Я могу Quicklook его, я вижу, что есть две части к нему. Там Джон Доу имя и оценка равна нулю. Теперь я мог бы использовать аннотацию типа, если я хотел быть четко указано, что мой переменной Джейк тип игрока, но, как и все остальное в Swift, если это так очевидно из этого первоначального значения, что создает объект игрока, я просто не нужно, тип выводится.

И то, что я сейчас могу сделать, это использовать синтаксис с точкой доступа к обоим свойства и методы этого объекта. Так jake.name = "Джейк", jake.score = 1000, Println jake.description, и мы начинаем видеть всю информацию, что мы могли бы ожидать выскакивают здесь, в панели результатов. Так определение, экземпляра и с помощью простого класса в Swift примерно так же прост и понятен, как он получает на любом объектно-ориентированный язык программирования. Итак, давайте это немного дальше и начать с добавления некоторых инициализаторов.


Дата добавления: 2015-08-20; просмотров: 179 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Defining and instantiating classes| Adding initializers to a class

mybiblioteka.su - 2015-2024 год. (0.011 сек.)