7 терминов программирования, которые должен знать каждый ребенок

  • 24 сентября, 14:53
  • 3630
  • 0

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

Классы и Объекты

Описанием объекта является класс, а объект представляет экземпляр этого класса. Можно еще провести следующую аналогию. У нас у всех есть некоторое представление о человеке, у которого есть имя, возраст, какие-то другие характеристики. То есть некоторый шаблон - этот шаблон можно назвать классом. Конкретное воплощение этого шаблона может отличаться, например, одни люди имеют одно имя, другие - другое имя. И реально существующий человек (фактически экземпляр данного класса) будет представлять объект этого класса.

Конструктор

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

class Person{
    constructor(name){
        console.log('Hello from' + ' ' + name);
    }    
}
const p = new Person('karan'); // Output Hello from karan 

Статические методыи

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

Рекурсия

Рекурсия - это метод, при котором функция вызывает себя. Это условие завершения, называемое базовым условием, которое останавливает рекурсивное действие.

class MathematicalOperation{
    constructor(){
        console.log('Mathmatetical operation class');
    }
    square(x){
        return x*x;
    }
    factorial(x){
        if(x==0 || x==1){
            return 1;
        }
        return x*this.factorial(x-1); 
    }
    static available_methods(){
        console.log('This class has two methods. Square and factorial.');
    }
}


const m = new MathematicalOperation; // output Mathmatetical operation class
console.log(m.square(5)); // output 25
console.log(m.factorial(5)); // output 120
MathematicalOperation.available_methods(); // his class has two methods. Square and factorial.

Циклы

 Циклы в языках программирования - это функция, которая облегчает многократное выполнение набора инструкций.

a = [1,2,3,4,5,6,7,8,9,10];
// For of Loop  
for (let i of a){
    console.log(i);
}
// While loop
let j = 0;  
while(j < 10){     
 console.log(a[j]);
    j++;
}

OOPS (объектно-ориентированная система программирования)

Это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования. Основными компонентами OOPS являются инкапсуляция, абстракция, наследование и полиморфизм. 

  1. Инкапсуляция: упаковка данных и функций в единый компонент (внутри класса).
  2. Абстракция: абстракция является очень важной концепцией в ООП. Это значает, что вы скрываете важные вещи внутри класса и предоставляете только необходимую или релевантную информацию, которую вы хотите показать через объект. (Скрывает детали реализации)
  3. Наследование:  это концепция, при которой класс приобретает свойства дочернего класса. Мы можем расширить этот дочерний класс и использовать уже определенные методы, которые находятся в базовом классе/родительском классе. Основная цель наследования - предоставить повторно используемый код

class Person{
    constructor(name,gender){
        this.name = name;
        this.gender = gender;
    }
    getPersonName(){
        return this.name;
    }
    getPersonGender(){
        return this.gender;
    }
}


class Male extends Person{
    constructor(name){
        super(name,"male");
    }
}

class Female extends Person{
    constructor(name){
        super(name,"female");
    }
}


// creating objects ... 
const m = new Male("karan");
const f = new Female("Anna");


// checking results ... 
console.log(m.getPersonGender()); // male
console.log(m.getPersonName()); // karan
console.log(f.getPersonGender()); // female
console.log(f.getPersonName()); // Anna

  1. Полиморфизм:  означает способность принимать различные формы. Обычно существует 2 типа полиморфизма - время компиляции и время выполнения.
  • Время компиляции. Перегрузка функций является примером полиморфизма времени компиляции. Одно и то же имя функции, разные типы данных параметров.
  • Время выполнения. Переопределение функции является примером полиморфизма времени выполнения. Давайте посмотрим на пример.

class Overriding{
    print(){
        console.log('this is print function');
    }
    print(){
        console.log('this will override the above print function');
    }
}


const override = new Overriding();
override.print(); // output : this will override the above print function

Пакет/Модуль

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


0 комментариев
Сортировка:
Добавить комментарий

IT Новости

Смотреть все