Рубрики
Без рубрики

Понимание “этого” В Android.

Что такое “это” ? Это ключевое слово, которое ссылается на текущий объект в методе или конструкторе. Он используется как в Java, так и в Kotlin. Наиболее распространенное использование ключевого слова “это” заключается в устранении…

Автор оригинала: Oluwabukunmi Aluko.

Что такое “это” ?

Это ключевое слово это относится к текущему объекту в методе или конструкторе. Он используется как в Java, так и в Kotlin. Наиболее распространенное использование ключевого слова “this” заключается в устранении путаницы между атрибутами класса и параметрами с тем же именем, что и свойство в классе. Это может быть либо в конструкторе , либо в методе , содержащемся в классе. Например.

public class Planet {
  String planetName;

  // This keyword used in a constructor
  public Planet(String givenPlanetName) {
    this.planetName = givenPlanetName;
  }
  
  // This keyword used in a method
  public void changePlanetName(String newPlanetName) {
    this.planetName = newPlanetName;
  }

  // The program starts here
  public static void main(String[] args) {
    Planet myPlanet = new Planet("Earth");
    System.out.println("Welcome to Planet " + myPlanet.planetName);
    
    // Changing the planet's name
    myPlanet.changePlanetName("Terra");
    System.out.println("Welcome to Planet " + myPlanet.planetName);
  }
}

ПРИМЕЧАНИЕ: Вы можете запустить этот код здесь

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

// Show a simple toast
Toast.makeText(this, "Hello World", Toast.LENGTH_SHORT).show();

Приведенный выше код подразумевает, что “это” может быть передано в качестве аргумента функции. Изучив объявление объекта Toast в Android, я обнаружил, что тип для аргумента “this” имеет тип “Контекст”. Еще одно распространенное использование-это когда мы хотим загрузить другое действие. Например.

// Load the login activity screen
startActivity(new Intent(this,LoginActivity.class));

Контекст в android

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

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

  1. Форма “контекста”, т. е. реализация класса контекста (для указания состояния приложения).
  2. Сообщение, которое мы хотим отобразить.
  3. Продолжительность сообщения.

Переключение контекста в операционных системах

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

Из приведенного выше определения контекст можно назвать состоянием процесса в памяти. Как и следовало ожидать, работа с классами предполагает изменение состояния в разное время либо путем создания экземпляра нового класса, либо путем вызова метода в классе.

Вывод

По какой-то причине люди, новички в Android (и даже не очень новички), похоже, полностью забывают об объектно-ориентированном программировании, поэтому они зубрят коды из учебников и не понимают основных принципов того, как все работает. Ключевое слово “это” очень мощное, потому что оно содержит ссылки на состояние/контекст

Оригинал: “https://www.codementor.io/@swaggarchris/understanding-this-in-android-15m2fnw8gl”