Шрифт:
Но есть и различия. Во-первых, любой объект в принципе можно как-то преобразовать в строку, поэтому почти все системные классы обладают методом
Как правило, метод
Я уже сказал, что ни в одном системном классе не определен метод
Первое, что приходит на ум, — подкласс класса
А вот пример из реальной жизни. Класс
В этом фрагменте мы просто дописали путь в конец обычной строки
На практике методы
Метод
Как видите, разумное определение этих методов в собственном классе может несколько повысить гибкость применения. Но что сказать об идентификации объектов, переданных методам вашего класса?
Предположим, например, что вы написали метод, который ожидает в качестве параметра объект
Решить эту проблему просто. Если вы ожидаете на входе строку, проверьте, имеет ли объект метод
Ну а если объект не отвечает на вызов метода
Короткий путь к цели выглядит так:
Он опирается на тот факт, что при отсутствии реализации метода
С помощью неявного преобразования можно было бы сделать строки и числа практически эквивалентными: