Пытаясь понять, что такое метод, как он может быть «частью класса»? - PullRequest
0 голосов
/ 21 ноября 2018

Я проделал некоторую работу с функциями в Javascript и подумал, что метод является именем Ruby для того же.Недавно я дал техническое интервью, и интервьюер пытался помочь мне отладить, объяснив, как Методы были частью класса, и что это ООП вещь.

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

Можете ли вы объяснить, что "Методы являются частью класса", и почему это важно?Как метод может быть частью класса?Класс как целое число или строка?

Интервьюер полагал, что это поможет, но кажется, что это крошечная техническая вещь, а не что-то полезное.

Ответы [ 3 ]

0 голосов
/ 21 ноября 2018

Можете ли вы объяснить, что «Методы являются частью класса», и почему это важно?Как метод может быть частью класса?Класс как целое число или строка?

Допустим, у вас есть два класса, Apple и Cake.Предположим, что когда вы продаете яблоко, его ставка налога составляет 10%, а торт - 20%.Разделив методы на отдельные классы, мы можем определить разные методы для 'price_with_tax' для каждого класса:

class Apple < ApplicationRecord
  def price_with_tax
    self.price * 1.1
  end
end

class Cake < ApplicationRecord
  def price_with_tax
    self.price * 1.2
  end
end

В javascript мы не сможем сделать это, и нам потребуется 2 метода, «добавить 10% налог» и «добавить 20% налог».Структурируя методы, как у нас, мы можем сделать:

apple = Apple.find(1)
cake = Cake.find(1)
cake.price_with_tax
apple.price_with_tax
0 голосов
/ 29 ноября 2018

В ООП:

Класс похож на план / шаблон.У него есть свойства, методы и т. Д. С его помощью можно создать объект.Таким образом, объект может вызывать метод в классе.Обычно метод создается для выполнения операции.

Пример:

// a demo class
public class Animal{
    // a method
    public void sound(){
        // do something...
    }

    // main class, we create an object and call sound() method
    public static void main(String[] args){
        Animal dog = new Animal();     // create an object so that we can use the method
        dog.sound();    // method call
    }
}
0 голосов
/ 21 ноября 2018

Методы, как правило, это то, что может сделать класс, например, класс MailClient (например) может иметь такие методы, как sendMail, getMail, forwardMail и т. Д. В ООП методы по большей части должны быть чем-то, что может делать класс.

    MailClient.getMail();

Приведенный выше код можно представить как указание классу на вызов его поведения getMail ().

Вы можете думать об этом в реальных терминах, таких как:

Dog.bark();

Объекты имеют поведение и атрибуты, поведение - это методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...