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

Концепции ООП

Привет, ребята, я закончил абстрактный о Оопе, и я хочу поделиться своими аннотациями с вами. Это мой первый … Помечено OOP, JavaScript, программирование, класс.

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

Преступник

  • Программист может поставить связанные функции вместе в одном файле, но группировка – это только конвенция, а компилятор не применяет его в значительной степени.

Ов

  • В OOP логическое расположение кода изменено. Вместо неформального расположения функций в разные файлы функциональность официально и плотно сгруппированы с тем, на который он работает.
  • Вы можете использовать легко библиотеки – повторное использование кода
  • Особенности модульности
  • Несовершеннолетний клиентский язык должен поощрять правильное поведение клиента, препятствовать общим клиентским ошибкам и вежливо предупредить клиента, если есть ошибка

Базовые концепты

Класс

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

Пример класса в JavaScript

class Car {
    constructor(_factory, _model){
        this.factory = _factory
        this.model = _model
    }
}
  • Конструктор – это тип подпрограммы, называемого для создания объекта.
  • Это готовит новый объект для использования.

Объекты

  • Объект представляет собой значение выполнения, которое хранит состояние и принадлежит к какому классу.
  • Объекты знают, в каком классе они принадлежат, и поэтому они автоматически знают, какие операции они способны.
  • Слово «экземпляр» – это другое слово «объект»

Пример того, как создать экземпляр объекта в JavaScript

class Car {
    constructor(_factory, _model) {
        this.factory = _factory
        this.model = _model
    }
}

// "New" show you will create an object.
const ford = new Car('Ford', 'Mustang')

Массаж и метод

  • OOP использует «сообщения» вместо вызовов функций.
  • Метод ≠ Функции
  • Объект для эксплуатации на себя.
  • Объект похож на приемник.
  • Он знает, какие операции они могут выполнять, потому что он знает свой класс, а класс определяет все методы или операции для его экземпляров.

Пример класса в JavaScript

class Car {
    constructor(_factory, _model) {
        this.factory = _factory
        this.model = _model
    }

    turnOn() {
        return "Car is turning on... Turned on."
    }

    turnOff() {
        return "Car is turning off... turned off"
    }
}

// "New" show you will create an object.
const ford = new Car('Ford', 'Mustang')

Сообщение Отправить синтаксис

  • Почти все языки используют синтаксис: добавление сообщения на нужный приемник с точкой.

Пример

class Car {
    constructor(_factory, _model) {
        this.factory = _factory
        this.model = _model
    }

    turnOn() {
        return "Car is turning on... Turned on."
    }

    turnOff() { 
        return "Car is turning off... turned off"
    }
}

Синтаксис C ++, Java и JavaScript

objectInstance.method();

Синтаксис Python

objectInstance.method()

PHP синтаксис

$objectInstance->method();

Важные принципы

Инкапсуляция

  • Относится к защите внутренних органов объекта из прямых манипуляций клиентом.
  • Клиент может отправлять сообщения, но он не может изменить биты в объекте.
  • Состояние объекта касается только его собственных методов.
// In any cases you need to use babel-presets.

class Car {
    factory;
    model;
    #year = 2021

    constructor(_factory, _model) {
        this.factory = _factory
        this.model = _model
    }

    get factory() {
        return this.factory
    }

    get model() {
        return this.model
    }

    get year() {
        return this.#year
    }

    turnOn() {
        return "Car is turning on... Turned on."
    }

    turnOff() {
        return "Car is turning off... turned off"
    }
}

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

Наследование

  • Модульность и инкапсуляция, пожалуй, являются наиболее важными концепциями ООП.

Классы иерархии

  • Классы в Оопе расположены в дереве, как иерархии.
  • Во-первых, у нас есть «суперкласс». Это класс над ним в дереве.
  • Все классы ниже – «подклассы»
  • Иерархия помогает добавить логику в коллекцию классов.

Пример

Используя наследство

  • Это процесс, с помощью которого класс наследует свойства его суперклассов.
  • Методы унаследовали
class  Player {
    constructor(_color, _age, _name){
        this.color = _color
        this.age = _age
        this.name = _name
    }

    walk() {
        return "I'm walking now"
    }

    run() { 
        return "I'm running now"
    }
}

class Knight extends Player {
    constructor(_color, _age, _name) {
        super(_color, _age, _name)
    }

    shout() {
        return "I'm shouting now, HAAAAAAAAAAAAAAAAAH"
    }
}

Полиморфизм

  • Многие классы в программе будут отвечать на некоторое общее сообщение.
  • Если вы не знаете, какой метод был унаследован, полиморфизм поможет переписать этот метод.
  • Важно, когда ваш код достаточно сложен, что вы больше не уверены в точном классе объекта.
class  Player {
    constructor(_color, _age, _name){
        this.color = _color
        this.age = _age
        this.name = _name
    }

    walk() {
        return "I'm walking now"
    }

    run() { 
        return "I'm running now"
    }
}

class Knight extends Player {
    constructor(_color, _age, _name) {
        super(_color, _age, _name)
    }

    run () {
        return "I'm running more then everybody now"
    }

    shout() {
        return "I'm shouting now, HAAAAAAAAAAAAAAAAAH"
    }
}

Оригинал: “https://dev.to/httplucasreis/oop-concepts-12l7”