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

Using type properties and methods Используя свойства и методы типа

Writing closures | Writing closures Написание закрытия | Defining and instantiating classes | Defining and instantiating classes Определение и создание экземпляра классы | Adding initializers to a class | Adding initializers to a class Добавление инициализаторами к классу | Using inheritance | Using inheritance Использование наследования | Creating computed properties | Using inheritance Создание вычисляемых свойств |


Читайте также:
  1. A form of cryptosystem in which encryption and decryption are performed using the same key. Also known as conventional encryption.
  2. Answer the following questions using your own words but taking into account the
  3. Blocks on the webpage (properties are written in CSS file)
  4. C) Interview your partner using the questions in
  5. Choose a verb from the list and complete the text using Past Continuous or the Past Simple.
  6. Classification of phraseological units according to their contextual properties is suggested by
  7. Complete the following sentences using an appropriate form of the verb.

 

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

Так вот пример. У меня есть упрощенное класс BankAccount, что я создал здесь, несколько кусочков данных, констант для AccountNumber и routingCode. Там это переменная для баланса и InterestRate и несколько простых методов, а также инициализации, ничего особенного обо всем этом. Так что я эту недвижимость здесь называют InterestRate. Это поплавок, и я даю ей значение литерала. Но давайте представим, что наши бизнес-правила таковы, что InterestRate должны быть одинаковыми для всех BankAccounts. Мы могли бы иметь сто тысяч экземпляров этого класса, но все они должны одни и те же InterestRate.

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

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

Так что я собираюсь сделать быстрый изменения, которые вместо того, чтобы это равно 2,0, я просто добавить блок кода здесь и сказать ему, чтобы вернуться 2.0. Итак, мы имеем только для чтения, вычисленный здесь недвижимость, и теперь, когда ошибка не уходит. Теперь, когда у вас есть Тип недвижимости работающий на уровне класса, разница в том, что мы не используем имя экземпляра, чтобы справиться с этим. Мы используем имя самого класса, и мы работаем со свойствами на уровне экземпляра, нормальные свойства здесь, как AccountNumber, routingCode и баланса.

Ну, мне нужно иметь экземпляр этого класса для работы с ними. Так здесь внизу я создаю два экземпляра класса BankAccount, firstAccount и secondAccount. И, если я использую те, с точечный синтаксис, я могу получить доступ к свойству AccountNumber, имущество баланса, имущества routingCode. Я не вижу InterestRate, потому что он не работает на уровне экземпляра больше. Что мне нужно сделать, это использовать имя класса, BankAccount. и теперь я получаю доступ к InterestRate.

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

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

Любая попытка доступа нормальный экземпляр, которые хранятся свойства, как баланса или AccountNumber вызовет ошибку компиляции внутри этого метода. Хотя, вы можете обратиться к данным на уровне класса, что свойство InterestRate, что мы только что сделали, потому что это действительно работает на уровне класса. Так что я мог сказать, InterestRate является self.interestRate. Это полностью доступны на этом уровне, потому что это метод класса уровня. Теперь это правда, что большинство ваших свойств и методов будет на уровне экземпляра.

Они будут работать на этом уровне, но они приходят в очень полезно время от времени.

 

 


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


<== предыдущая страница | следующая страница ==>
Using type properties and methods| Defining lazy properties

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