(вроде) (СКАЗАЛИ КАК НЕ НАДО ДЕЛАТЬ) (НЕ СКАЗАЛИ КАК НАДО) *предложили использовать фабричный метод (для решения этой проблемы) можно пример реализации Решения (от вас)? п.с. огромное спасибо за ваши видео) с меня лайк под каждым видео
Чтобы все работало хорошо, use_it должна использовать лишь общие свойства квадрата и прямоугольника. В контексте ролика это площадь. А ширина и высота для прямоугольника и квадрата не совпадающие свойства. Отсюда и проблемы. Исходная посылка, что квадрат это прямоугольник -- неверна. Равенство ширины и высоты не превращает прямоугольник в квадрат. Это все еще прямоугольник, у которого есть ширина и высота, пусть и равные друг другу. А у квадрата есть только один размерный элемент -- длина его столоны. Забавное наблюдение: идея наследовать прямоугольник от квадрата встречается реже. Что делать? Вынести общий интерфейс, с которым и будет работать use_it, и реализовать его в классах прямоугольника и квадрата. interface IShape { int GetArea() } use_it(IShape sh) { print("area: {sh.GetArea()}') } class Rectangle : IShape { int GetArea() { return width*height } } clas Square : IShape { int GetArea() { return side*side } }
Привет, можешь дать совет? Что ты делаешь, когда у тебя баг и ни в какую не можешь его исправить, а у тебя ещё другой функционал нужно реализовать и время поджимает. У меня как раз сейчас такая ситуация.?
Хороший вопрос. Во-первых все должны знать о вашей ситуации, чтобы не было ожиданий некорректных. Возможно вам помогут коллеги. Если нет, то от нерешаемого бага стоит переключиться, возможно причина бага придёт в голову позже. Кроме того, надо учиться техникам отладки)
(вроде) (СКАЗАЛИ КАК НЕ НАДО ДЕЛАТЬ) (НЕ СКАЗАЛИ КАК НАДО)
*предложили использовать фабричный метод (для решения этой проблемы)
можно пример реализации Решения (от вас)?
п.с. огромное спасибо за ваши видео) с меня лайк под каждым видео
def __init__(self, size1, size2 = size1):
def area(self, size1, size2):
return self1 * self2
Чтобы все работало хорошо, use_it должна использовать лишь общие свойства квадрата и прямоугольника. В контексте ролика это площадь. А ширина и высота для прямоугольника и квадрата не совпадающие свойства. Отсюда и проблемы.
Исходная посылка, что квадрат это прямоугольник -- неверна. Равенство ширины и высоты не превращает прямоугольник в квадрат. Это все еще прямоугольник, у которого есть ширина и высота, пусть и равные друг другу. А у квадрата есть только один размерный элемент -- длина его столоны. Забавное наблюдение: идея наследовать прямоугольник от квадрата встречается реже.
Что делать? Вынести общий интерфейс, с которым и будет работать use_it, и реализовать его в классах прямоугольника и квадрата.
interface IShape { int GetArea() }
use_it(IShape sh) {
print("area: {sh.GetArea()}')
}
class Rectangle : IShape {
int GetArea() { return width*height }
}
clas Square : IShape {
int GetArea() { return side*side }
}
Привет, можешь дать совет? Что ты делаешь, когда у тебя баг и ни в какую не можешь его исправить, а у тебя ещё другой функционал нужно реализовать и время поджимает. У меня как раз сейчас такая ситуация.?
Хороший вопрос. Во-первых все должны знать о вашей ситуации, чтобы не было ожиданий некорректных. Возможно вам помогут коллеги. Если нет, то от нерешаемого бага стоит переключиться, возможно причина бага придёт в голову позже. Кроме того, надо учиться техникам отладки)
@@EngineerSpock Спасибо за ответ, я этого не знал. Техниками отладки я владею, но да, я понял ход твоих мыслей
Это адаптация какого-то анлоязычного материала (ютюб-канала) ? Хотелось бы ссылку на оригинал.
Оригинальный курс есть на юдэми на инглише за авторством Дмитрия Нестерука
@@EngineerSpock А он в свою очередь курс базирует тупо по англоязычной книге . Понимаете к чему я?
@@avazart614 по какой?
Звук очень тихий, на максимум приходится выкручивать громкость.