Публикации по теме 'inheritance'
Многоуровневое наследование, его плюсы и минусы
В объектно-ориентированном программировании многоуровневое наследование позволяет подклассу наследовать от суперкласса, который уже наследуется от другого суперкласса. Другими словами, подкласс может наследовать от родительского класса, который является дочерним классом другого родительского класса.
В качестве примера рассмотрим следующую иерархию классов:
В этом примере Animal является надклассом Mammal, а Mammal — надклассом Dog. В результате Dog наследует свойства и методы как..
Вопросы по теме 'inheritance'
Могу ли я изменить свойства унаследованных элементов управления во время разработки?
Я использую визуальное наследование, и мне было интересно, есть ли способ изменить свойства унаследованных элементов управления во время разработки, желательно в конструкторе форм. Если нет, то в коде конструктора.
Мой элемент управления объявлен...
27.11.2023
Как смоделировать это отношение множественного наследования с помощью СУБД?
Я смотрю на эту модель данных, которую придумал, и не чувствую себя комфортно. Я изменил имена сущностей, чтобы они (надеюсь) имели больше смысла. В любом случае, как бы вы смоделировали следующее?
У меня есть 3 сущности. ПравительствоЗаказчик,...
21.01.2024
Какие методы / стратегии люди используют для создания объектов на C (не C ++)?
Меня особенно интересуют объекты, предназначенные для использования изнутри C, в отличие от реализаций объектов, которые составляют ядро интерпретируемых языков, таких как python.
11.12.2023
При переопределении метода из родительского класса; что означает NotImplementedException ()?
Вот пример:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SharpLibrary_MediaManager
{
public class Picture:BaseFile
{
public override void GetFileInformation()
{...
09.11.2023
C#: право доступа из-за наследования
Ниже приведен простой тестовый код:
public class A
{
protected int m = 0;
}
internal class B: A
{
public void test(A objA, B objB)
{
base.m++; //OK!
objA.m++; //cannot access protected member
m++; //OK!...
29.12.2023
Почему не рекомендуется использовать множественное наследование?
Я создаю классы S4 в R.
Я прочитал в https://github.com/hadley/devtools/wiki/S4
Обратите внимание, что S4 поддерживает множественное наследование, но его следует использовать с особой осторожностью, так как это чрезвычайно усложняет поиск...
13.11.2023
Можно ли расширить класс pojo весной?
У меня есть pojo, который содержит набор частных переменных и их сеттеры и геттеры. Этот pojo широко используется в моем приложении. Теперь я должен поддерживать сценарий, в котором есть несколько pojo, и каждый pojo является надмножеством исходного...
29.11.2023
Создание подклассов и добавление метода init всегда возвращает nil
Я пытаюсь создать подкласс класса UIImage и добавить собственный метод init с некоторыми добавленными переменными. Однако, когда я пытаюсь создать новый объект, используя новый инициализатор, объект всегда nil . Новый метод init приведен...
23.11.2023
Вернуть базовый класс в C#
Как я могу вернуть данные в форме базового класса?
A aclass = new A();
B bclass = aclass.GetB();
не работает.
public class B
{
protected string str1;
protected string str2;
}
public class A:B
{
public A()
{...
03.01.2024
Зачем назначать объект подкласса ссылке суперкласса?
Животное — это суперкласс.
Feline — это подкласс животных.
Кошка является подклассом кошачьих.
Canine является подклассом Animal
Собака является подклассом собак.
Все классы имеют собственный метод eat(), который выводит:
"(класс)...
28.12.2023
Можете ли вы переделать абстрактный метод в дереве наследования?
РЕДАКТИРОВАТЬ:
Чтобы было ясно: тот факт, что дизайн довольно уродлив, не имеет значения. Дело в том, что дизайн есть, и я должен добавить еще один подкласс FlyingMotorizedVehicle , который не будет работать должным образом, если я забуду...
18.11.2023
JS-контроллер вызывает родителя в обратном вызове?
У меня есть контроллер, расширенный дочерним контроллером. Этот дочерний элемент должен сначала отобразить элемент, а затем поднять переопределенную родительскую функцию. Вот мой абстрактный код:
Ext.define('ParentController', {
extend:...
12.12.2023
Как расширить класс без использования super в ES6?
Можно ли расширить класс в ES6 без вызова метода super для вызова родительского класса?
EDIT: вопрос может ввести в заблуждение. Это стандарт, по которому мы должны называть super() , или я что-то упустил?
Например:
class Character {...
13.12.2023
Наследование одного и того же метода от нескольких интерфейсов
Что мы знаем, что множественное (интерфейсное) наследование разрешено в С#, но я хочу знать, возможно ли, что два примера интерфейса:
interface calc1
{
int addsub(int a, int b);
}
interface calc2
{
int addsub(int x, int y);
}
с тем...
05.12.2023
Передача по значению и полиморфизм
Я новичок в программировании и не понимаю, почему этот код печатает 200 вместо 206. Метод перемещения в классе Cat переопределяет метод перемещения в классе Animals. Почему переменная экземпляра «местоположение» в Animals не изменяется на 206 после...
18.11.2023
Фабрика простых классов, производных от общих специализаций
У меня есть общий класс С# B<T> . Также у меня есть набор производных классов Di : B<Ti> . Все эти классы всегда создаются с одним и тем же набором параметров. Таким образом, это приводит к спагетти-коду:
if (typeof(T) ==...
26.12.2023
Последовательность содержит более одного соответствующего элемента при обновлении схемы
Я использую наследование ef-core следующим образом:
public abstract class Person
{
public int Id { get; set; }
public string Name { get; set; }
public PersonType PersonType { get; set; }
public int PersonTypeId { get; set; }...
14.11.2023
Наследование от универсального класса с абстрактным свойством
Я пытаюсь наследовать класс от абстрактного класса с общим свойством в нем. Я думаю, что упускаю что-то действительно важное. Единственный способ избавиться от этой ошибки — избавиться от конструктора в базовом классе. Но если я сделаю это, то мой...
10.12.2023
Наследование нарушает инкапсуляцию
Я видел много статей, где говорится, что наследование нарушает инкапсуляцию.
http://igstan.ro/posts/2011-09-09-how-inheritance-violates-encapsulation.html
Но я не могу понять концепцию, стоящую за этим. в данном примере
Может ли кто-нибудь...
14.12.2023
Вызов ключевого слова super с модулями и наследованием
Я думал, что включение модуля в качестве примеси в класс «добавило функции» в класс.
Я не понимаю, почему это не работает должным образом:
module A
def blah
super if defined?(super)
puts "hello, world!"
end
end
class X...
14.11.2023
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..