Fwd: off-topic duda sobre polimorfismo...
Ayer en la tarde, Horst von Brand dijo: blackbeer [EMAIL PROTECTED] wrote: [...] Polimorfismo es un concepto de OO. [...] Polimorfismo /nada/ tiene que ver con OOP. Se refiere a que una operacion se pueda invocar igual para datos de distinto tipo. [...] Quizas ambos tienen la razon :) ,[ http://c2.com/cgi/wiki?CategoryPolymorphism ] | Types of polymorphism: | | GenericPolymorphism?, also known as ParametricPolymorphism: Generic | algorithms, templates, parameteric types, etc, [...] | | SubtypePolymorphism?: Polymorphism based on subtyping (the notion that | one type can extend/implement the behavior of another in such fashion | that any valid operation on the supertype is valid on the subtype), | subsumption (allowing a subtype to be used in a context where a | supertype is expected), and DynamicDispatch (selecting a function or | data based on the runtime type of its arguments--see SingleDispatch, | DoubleDispatch, MultipleDispatch (aka MultiMethods)). JavaLanguage, | CeePlusPlus, etc. all have subtype polymorphism [...] ` Caso extremo es tal vez lenguajes como Perl, en los que puedes aplicar la operacion sort a un arreglo de numeros o de strings, y hace lo correcto (ordena numericamente o como string) solo. nitpicking Eso no es tan asi; `sort' ordena lexicograficamente (o, al menos, segun lo que LC_COLLATE diga) a menos que se le indique otra forma, tipicamente con una funcion anonima: $ perl -le 'print join( , sort @ARGV)' 1 2 3 10 1 10 2 3 $ perl -le 'print join( , sort {$a cmp $b} @ARGV)' 1 2 3 10 1 10 2 3 $ perl -le 'print join( , sort {$a = $b} @ARGV)' 1 2 3 10 1 2 3 10 /nitpicking Salu2, -- Cristian Gutierrez /* [EMAIL PROTECTED] */ Nothing but perl can parse Perl. -- Tom Christiansen
Fwd: off-topic duda sobre polimorfismo...
Cortito: Polimorfismo es un concepto de OO. Tiene que ver con reformular el comportamiento de determinado metodo en las clases descendientes, cuando el mismo ya se ha implementado en clases supoeriores (o no si es abstracta). Sobrecarga es concepto de Lenguaje de Porgramación. Tiene que ver con escribir varias funciones con el mismo nombre pasando diferentes argumentos en cada una de ellas. Tengo una duda respecto a la sobrecarga y el polimorfismo, por un lado un amigo me dice que sobrecarga y polimorfismo son cosas distintas y que siempre ha habido confusion al respecto, otro amigo me dice que sobrecarga es parte del polimorfismo (tambien vi en un libro de C que decia algunos ejemplos de polimorfismo son la sobrecarga de funciones y operadores). Buscando (ligeramente) en google me encontre que se trata a polimorfismo y sobrecarga como temas separados, pero tambien en algunos sitios se mencionan ejemplos de polimorfismo con sobrecarga. Me parecio interesante enviar mi interrogante a la lista para ver que me dicen.. y si alguien puede que me pase de referencia alguna fuente confiable para salir de la duda..Muchas gracias.
Fwd: off-topic duda sobre polimorfismo...
blackbeer [EMAIL PROTECTED] wrote: [...] Polimorfismo es un concepto de OO. [...] Polimorfismo /nada/ tiene que ver con OOP. Se refiere a que una operacion se pueda invocar igual para datos de distinto tipo. O sea, por ejemplo write() de Pascal es polimorfico: Puedes pasarle integer, real, o incluso strings (== arreglos de caracteres), incluso un numero variable de cosas. Igual funciones raras como sqr (si le das integer, retorna integer; si le das real retorna real). Y cosillas como ord(). Igual printf(3) de C: Puedes llamarlo con uno, o muchos argumentos. Los argumentos pueden ser de diferentes tipos. O free(3), toma un puntero a cualquier cosa. Caso extremo es tal vez lenguajes como Perl, en los que puedes aplicar la operacion sort a un arreglo de numeros o de strings, y hace lo correcto (ordena numericamente o como string) solo. Y no olvidar el humilde '+' en C o similares: Sirve para sumar int, char, unsigned, float, double, ... Las macros de C dan polimorfismo, puedes definir una macro: #define sqr(x) ((x) * (x)) a la que le importa un pepino cual es el tipo de x. Incluso GCC tiene la extension typeof() que permite descubrir de que tipo es algo, y crear variables de ese mismo tipo: #define swap(a, b) do{ typeof(a) _a = a; a = b; b = _a; }while(0) con lo que luego: int x, y; struct xyz {...} xx, yy; ... swap(x, y); ... swap(xx, yy); Puedes tener OOP sin polimorfismo, que es el caso cuando usas p.ej. C++ sin usar sobrecarga de funciones. (Y al reves, si compilas C + funciones sobrecargadas en C++, no estas haciendo OOP, pero si polimorfismo.) Puede decirse que tener funciones virtuales es una forma de polimorfismo, pero es limitada en que solo sigue la idea de que si A deriva de B, entonces A /es/ un B, y toda operacion de B debe poder aplicarse a A (con posibles ajustes). Si, OOP sin polimorfismo pierde buena parte del chiste. Pero no quiere decir que polimorfismo solo sea parte de OOP. -- Dr. Horst H. von Brand User #22616 counter.li.org Departamento de Informatica Fono: +56 32 654431 Universidad Tecnica Federico Santa Maria +56 32 654239 Casilla 110-V, Valparaiso, ChileFax: +56 32 797513 From [EMAIL PROTECTED] Fri Jul 1 17:41:37 2005 From: [EMAIL PROTECTED] (Cristian Correa) Date: Fri Jul 1 17:41:31 2005 Subject: Software que traiga iconos In-Reply-To: [EMAIL PROTECTED] References: [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] On 7/1/05, Luis Eduardo Vivero Peña [EMAIL PROTECTED] wrote: Holas, Alguien conoce algun software bajo linux que tenga iconos de red y computadores? Algo asi como dia, pero mas bonitos... Me gusta n inkscape, pero no trae iconos. Ni modo de hacerlos a mano con gimp, no le pego al dibujo. En los iconos de openclipart no viene la nube :S y vienen unos iconos mirando para un lado, otros para otro lado...ademas se cae nautilus cuando visualizo los svg... Salu2 Luis Eduardo Vivero Peña. Si quieres puedes ver algunos iconos que tengo en mi página http://skauch.sytes.net/icon/ Ahi le puedes echar una mirada :D PD: busca en la parte de sistema, hay arios iconos o en la parte de Computadores - Cristian Correa Urrutia Estudiante Ingeniería Civil en Informática Universidad Técnica Federico Santa María Campus Santiago LinuxUser #366800 counter.li.org jabber: [EMAIL PROTECTED]
off-topic duda sobre polimorfismo...
Tengo una duda respecto a la sobrecarga y el polimorfismo, por un lado un amigo me dice que sobrecarga y polimorfismo son cosas distintas y que siempre ha habido confusion al respecto, otro amigo me dice que sobrecarga es parte del polimorfismo (tambien vi en un libro de C que decia algunos ejemplos de polimorfismo son la sobrecarga de funciones y operadores). Buscando (ligeramente) en google me encontre que se trata a polimorfismo y sobrecarga como temas separados, pero tambien en algunos sitios se mencionan ejemplos de polimorfismo con sobrecarga. Me parecio interesante enviar mi interrogante a la lista para ver que me dicen.. y si alguien puede que me pase de referencia alguna fuente confiable para salir de la duda..Muchas gracias.
off-topic duda sobre polimorfismo...
perdon el libro que mencione era de C++, tengo claro que C no es orientado a objetos..