Каковы типичные функции в объектно-ориентированном программировании? - PullRequest
0 голосов
/ 24 марта 2019

Я не смог найти ответ нигде в интернете. Может кто-нибудь, пожалуйста, объясните с примером.

Ответы [ 2 ]

2 голосов
/ 24 марта 2019

Функции обычно относятся к процедурному программированию. В ООП у вас есть методы, которые на самом деле являются функциями по своей природе, работают так же, как функции, но они всегда работают по отношению к некоторому объекту. Вы не можете объявить метод / функцию, не создав для нее класс, аналогично, вы всегда должны вызывать функции, используя их объект. Таким образом, подход к созданию функций и простому вызову их в OOP не работает одинаково. Вы должны связать их с классом здесь и обычно с конструктором для этого класса.

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

int add(int a, int b){
    return a+b;
}

Теперь для Java метод в ООП выглядит следующим образом,

class NumberAdder{
    int num1;
    int num2;
    NumberAdder(int num1, int num2){
        this.num1=num1;
        this.num2=num2;
    }
    public int getSum(){
        return num1+num2;
    }
}
0 голосов
/ 24 марта 2019

Зависит от приложения и от того, как все организовано. В ООП слово «методы» фактически предпочитают отличать от «функций», которые не являются частью объекта. Посмотрите документацию для любой библиотеки, и вы должны найти несколько примеров.

Unity является игровым движком и должен иметь смысл интуитивно. Collider имеет методы поиска ближайших точек и обнаружения столкновений. ParticleSystem имеет метод излучения частиц. Camera имеет метод для рендеринга. и т.д.

https://docs.unity3d.com/ScriptReference/ParticleSystem.html

...