In object-oriented programming, a virtual function or virtual method is a function or method whose behavior can be overridden within an inheriting class by a function with the same signature. This concept is a very important part of the polymorphism portion of object-oriented programming (OOP).

PropertyValue
dbpprop:abstract
  • In object-oriented programming, a virtual function or virtual method is a function or method whose behavior can be overridden within an inheriting class by a function with the same signature. This concept is a very important part of the polymorphism portion of object-oriented programming (OOP).
  • Virtuelle Methode ist ein Begriff, der im Zusammenhang mit objektorientierten Programmiersprachen benutzt wird. Sie ist eine Methode einer Klasse, deren Einsprungadresse erst zur Laufzeit ermittelt wird. Dieses sogenannte dynamische Binden ermöglicht es, Klassen von einer Oberklasse abzuleiten und dabei Funktionen zu überschreiben bzw. zu überlagern. Das Konzept der virtuellen Methoden wird von einem Übersetzer (Compiler) z. B. mittels virtueller Tabellen umgesetzt. Programmierer der Sprachen C++ oder Delphi müssen sich explizit mit dieser Thematik auseinandersetzen und entscheiden, welche Methoden sie als "virtuell" definieren. In anderen objektorientierten Programmiersprachen, wie z. B. Java, Smalltalk und Python sind alle Methoden automatisch virtuell.
  • Virtuální funkce (někdy nazývané virtuální metoda) je funkce pracující s instancí třídy, jejíž chování je určeno definicí funkce třídy instance nezávisle na typu ukazatele, který na instanci ukazuje. Virtuální funkce tvoří základ pro polymorfismus, což je jeden ze základních znaků objektově orientovaného programování. V některých programovacích jazycích jsou metody tříd vždy virtuální.
  • En programación orientada a objetos (POO), una función virtual o método virtual es una función cuyo comportamiento, al ser declarado "virtual", es determinado por la definición de una función con la misma cabecera en alguna de sus subclases. Este concepto es una parte muy importante del polimorfismo en la POO. El concepto de función virtual soluciona los siguientes problemas: En POO, cuando una clase derivada hereda de una clase base, un objeto de la clase derivada puede ser referido (o coercionado) tanto como del tipo de la clase base como del tipo de la clase derivada. Si hay funciones de la clase base redefinidas por la clase derivada, aparece un problema cuando un objeto derivado ha sido cohercionado como del tipo de la clase base. Cuando un objeto derivado es referido como del tipo de la base, el comportamiento de la llamada a la función deseado es ambiguo. Distinguir entre virtual y no virtual sirve para resolver este problema. Si la función en cuestión es designada "virtual", se llamará a la función de la clase derivada (si existe). Si no es virtual, se llamará a la función de la clase base.
  • En programmation orientée objet, une fonction virtuelle est une fonction définie dans une classe et qui est destinée à être redéfinie dans les classes dérivées. Une fonction ne possèdant qu'une déclaration, sans code implémenté est dite abstraite ou virtuelle pure. Ex: virtual void dessine const = 0; // = 0 signifie "virtuelle pure" Il suffit qu'une classe possède une fonction virtuelle pure pour qu'elle soit dite abstraite. On ne peut pas instancier une classe abstraite car cela n'aurait aucun sens : ex : on peut instancier un objet "triangle" qui hérite de la classe de base abstraite "forme geométrique" mais on ne peut pas créer un objet "forme geométrique" (voir le concept de polymorphisme).
  • Una funzione virtuale è parte importante del polimorfismo all'interno della metodologia di programmazione orientata agli oggetti (OOP, Object Oriented Programming)). Una funzione virtuale permette a una classe derivata di ridefinire le funzioni che eredita dalle classi da cui deriva, anche nel caso in cui la classe derivata sia convertita al tipo dell'oggetto da cui è derivata. Nella OOP, quando una classe derivata eredita da una classe base, si può usare un oggetto della classe derivata sia come oggetto di tipo della classe base sia come oggetto di tipo della classe derivata. Se alcune funzioni sono ridefinite dalla classe derivata, la conversione di un oggetto derivato nel tipo della classe base causa una ambiguità: non è chiaro se si voglia chiamare la funzione come definita nella classe base o come ridefinita in quella derivata. La definizione di funzione virtuale ha lo scopo di risolvere questo problema. Se la funzione in questione è identificata come "virtuale" allora la funzione della classe derivata sarà chiamata (se esiste). Se la funzione non è virtuale, si farà riferimento alla funzione della classe base.
  • Metoda wirtualna (funkcja wirtualna) to metoda, która jest polimorficzna.
  • În programarea orientată pe obiecte (POO), o funcție virtuală sau metodă virtuală este of funcție al cărei comportament, în virtutea declarării acesteia ca fiind "virtuală", este determinat de către definiția unei funcții cu aceeași semnătură cea mai îndepărtată pe linia succesorală a obiectului în care este apelată. Acest concept este o foarte importantă parte din porțiunea de polimorfism a paradigmei de programare pe obiecte.
  • Виртуальный метод (виртуальная функция) — в объектно-ориентированном программировании метод (функция) класса, который может быть переопределён в классах-наследниках так, что конкретная реализация метода для вызова будет определяться во время исполнения. Таким образом, программисту необязательно знать точный тип объекта для работы с ним через виртуальные методы: достаточно лишь знать, что объект принадлежит классу или наследнику класса, в котором метод объявлен. Виртуальные методы — один из важнейших приёмов реализации полиморфизма. Они позволяют создавать общий код, который может работать как с объектами базового класса, так и с объектами любого его класса-наследника. При этом, базовый класс определяет способ работы с объектами и любые его наследники могут предоставлять конкретную реализацию этого способа. В некоторых языках программирования, например в Java, нет понятия виртуального метода, данное понятие следует применять лишь для языков в которых методы родительского класса не могут быть переопределены по умолчанию, а только с помощью некоторых вспомогательных ключевых слов. Базовый класс может и не предоставлять реализации виртуального метода, а только декларировать его существование. Такие методы без реализации называются «чисто виртуальными» (калька с lang-en | pure virtual) или абстрактными. Класс, содержащий хотя бы один такой метод, тоже будет абстрактным. Объект такого класса создать нельзя (в некоторых языках допускается, но вызов абстрактного метода приведёт к ошибке). Наследники абстрактного класса должны предоставить реализацию для всех его абстрактных методов, иначе они, в свою очередь, будут абстрактными классами. Для каждого класса, имеющего хотя бы один виртуальный метод, создаётся таблица виртуальных методов. Каждый объект хранит указатель на таблицу своего класса. Для вызова виртуального метода используется такой механизм: из объекта берётся указатель на соответствующую таблицу виртуальных методов, а из неё, по фиксированному смещению, — указатель на реализацию метода, используемого для данного класса. При использовании множественного наследования или интерфейсов ситуация несколько усложняется за счёт того, что таблица виртуальных методов становится нелинейной.
  • 虚函数(lang|en|virtual function)是面向对象程序设计中的一个重要的概念。当从父类中继承的时候,虚函数和被继承的函数具有相同的签名。但是在运行过程中,运行系统将根据对象的-A|zh:型別;zh-tw:型別;zh-cn:类型-,自动地选择适当的具体实现运行。虚函数是面向对象编程实现-zh:多型;zh-tw:多型;zh-cn:多态-的基本手段。 虚函数在设计模式方面扮演重要角色。例如,《设计模式》一书中提到的23种设计模式中,仅5个对象创建模式就有4个用到了虚函数(抽象工厂、工厂方法、生成器、原型),只有-zh:單體;zh-tw:單體;zh-cn:单例;-没有用到。
dbpprop:hasPhotoCollection
dbpprop:reference
rdfs:comment
  • In object-oriented programming, a virtual function or virtual method is a function or method whose behavior can be overridden within an inheriting class by a function with the same signature. This concept is a very important part of the polymorphism portion of object-oriented programming (OOP).
  • Virtuelle Methode ist ein Begriff, der im Zusammenhang mit objektorientierten Programmiersprachen benutzt wird. Sie ist eine Methode einer Klasse, deren Einsprungadresse erst zur Laufzeit ermittelt wird. Dieses sogenannte dynamische Binden ermöglicht es, Klassen von einer Oberklasse abzuleiten und dabei Funktionen zu überschreiben bzw. zu überlagern. Das Konzept der virtuellen Methoden wird von einem Übersetzer (Compiler) z. B. mittels virtueller Tabellen umgesetzt.
  • Virtuální funkce (někdy nazývané virtuální metoda) je funkce pracující s instancí třídy, jejíž chování je určeno definicí funkce třídy instance nezávisle na typu ukazatele, který na instanci ukazuje. Virtuální funkce tvoří základ pro polymorfismus, což je jeden ze základních znaků objektově orientovaného programování. V některých programovacích jazycích jsou metody tříd vždy virtuální.
  • En programación orientada a objetos (POO), una función virtual o método virtual es una función cuyo comportamiento, al ser declarado "virtual", es determinado por la definición de una función con la misma cabecera en alguna de sus subclases. Este concepto es una parte muy importante del polimorfismo en la POO.
  • En programmation orientée objet, une fonction virtuelle est une fonction définie dans une classe et qui est destinée à être redéfinie dans les classes dérivées. Une fonction ne possèdant qu'une déclaration, sans code implémenté est dite abstraite ou virtuelle pure. Ex: virtual void dessine const = 0; // = 0 signifie "virtuelle pure" Il suffit qu'une classe possède une fonction virtuelle pure pour qu'elle soit dite abstraite.
  • Una funzione virtuale è parte importante del polimorfismo all'interno della metodologia di programmazione orientata agli oggetti (OOP, Object Oriented Programming)). Una funzione virtuale permette a una classe derivata di ridefinire le funzioni che eredita dalle classi da cui deriva, anche nel caso in cui la classe derivata sia convertita al tipo dell'oggetto da cui è derivata.
  • Metoda wirtualna (funkcja wirtualna) to metoda, która jest polimorficzna.
  • În programarea orientată pe obiecte (POO), o funcție virtuală sau metodă virtuală este of funcție al cărei comportament, în virtutea declarării acesteia ca fiind "virtuală", este determinat de către definiția unei funcții cu aceeași semnătură cea mai îndepărtată pe linia succesorală a obiectului în care este apelată. Acest concept este o foarte importantă parte din porțiunea de polimorfism a paradigmei de programare pe obiecte.
  • Виртуальный метод (виртуальная функция) — в объектно-ориентированном программировании метод (функция) класса, который может быть переопределён в классах-наследниках так, что конкретная реализация метода для вызова будет определяться во время исполнения.
rdfs:label
  • Virtual function
  • Virtuelle Methode
  • Virtuální funkce
  • Función virtual
  • Fonction virtuelle
  • Funzione virtuale
  • Metoda wirtualna
  • Funcţie virtuală
  • Виртуальный метод
  • 虚函数 (程序语言)
owl:sameAs
skos:subject
foaf:page
is dbpprop:redirect of