Diferencia entre revisiones de «Objetive-c»

(Página creada con '{{Ficha desarrollo |nombre= Objective-C |familia= |imagen= |tamaño= |descripción= El lenguaje Objective-C es un lenguaje de programación sencillo diseñado para permitir ...')
 
Línea 1: Línea 1:
{{Ficha desarrollo
+
{{Ficha Software
 
|nombre= Objective-C   
 
|nombre= Objective-C   
 
|familia=
 
|familia=
|imagen=
+
|imagen=Objetive1.png
 
|tamaño=
 
|tamaño=
 
|descripción= El lenguaje Objective-C es un lenguaje de programación sencillo diseñado para permitir a sofisticados programación orientada a objetos.
 
|descripción= El lenguaje Objective-C es un lenguaje de programación sencillo diseñado para permitir a sofisticados programación orientada a objetos.
Línea 26: Línea 26:
 
|web=
 
|web=
 
}}   
 
}}   
<div align="justify"> '''Objective-C''' es, cómo C++, un lenguaje orientado a objetos que desciende de C. Esta descendencia hace que Objective-C sea compatible hacia atrás, haciendo esto que mucha de la sintaxis y características de C estén presentes en Objective-C. </div>
+
<div align="justify"> '''Objective-C''' es, cómo [[C++]], un lenguaje orientado a objetos que desciende de C. Esta descendencia hace que Objective-C sea compatible hacia atrás, haciendo esto que mucha de la sintaxis y características de C estén presentes en Objective-C. </div>
 
<br>
 
<br>
 
==Características==   
 
==Características==   
Línea 35: Línea 35:
 
*Conversiones implícitas y explícitas entre tipos.           
 
*Conversiones implícitas y explícitas entre tipos.           
 
          
 
          
*El ámbito de las variables:Global, estáticas o locales.           
+
*El ámbito de las [[variables]]:Global, estáticas o locales.           
 
          
 
          
 
*Las funciones y su sintaxis.           
 
*Las funciones y su sintaxis.           
Línea 42: Línea 42:
  
 
==Diferencias entre otros lenguajes==
 
==Diferencias entre otros lenguajes==
 
 
    
 
    
 +
[[Image:Objetive2.jpeg|thumb|left|Objetive C]]
 
<div align="justify">Una característica que diferencie a Objective-C de otros lenguajes (ya no sólo de C++), ésta sería su dinamismo, en el sentido de que Objective-C es un lenguaje marcadamente dinámico. Muchas de las decisiones que otros lenguajes toman en tiempo de compilación, Objective-C las toma en tiempo de ejecución.  
 
<div align="justify">Una característica que diferencie a Objective-C de otros lenguajes (ya no sólo de C++), ésta sería su dinamismo, en el sentido de que Objective-C es un lenguaje marcadamente dinámico. Muchas de las decisiones que otros lenguajes toman en tiempo de compilación, Objective-C las toma en tiempo de ejecución.  
 
En Objective-C, a diferencia de C++, los objetos siempre se crean en memoria dinámica.           
 
En Objective-C, a diferencia de C++, los objetos siempre se crean en memoria dinámica.           
       
 
 
Los atributos de una clase no tienen por que estar tipificados estáticamente.
 
Los atributos de una clase no tienen por que estar tipificados estáticamente.
       
 
 
Objective-C dispone de un gran número de características avanzadas como pueden ser los protocolos, las categorías, extensiones, el Key-Value Coding, el Key-Value Observing, la gestión de memoria y el recolector de basura, la gestión de excepciones. </div>
 
Objective-C dispone de un gran número de características avanzadas como pueden ser los protocolos, las categorías, extensiones, el Key-Value Coding, el Key-Value Observing, la gestión de memoria y el recolector de basura, la gestión de excepciones. </div>
 
<br>
 
<br>
 +
<br>
 +
 +
 
==Entornos orientados a objetos de desarrollo==           
 
==Entornos orientados a objetos de desarrollo==           
 
*Una biblioteca de objetos
 
*Una biblioteca de objetos
Línea 56: Línea 57:
 
*Un entorno de ejecución
 
*Un entorno de ejecución
 
*Una programación orientada a objetos del lenguaje  
 
*Una programación orientada a objetos del lenguaje  
 +
 
==Sintaxis==
 
==Sintaxis==
<div align="justify">Objective-C consiste en una capa muy fina situada por encima de C, y además es un estricto superconjunto de C. Esto es, es posible compilar cualquier programa escrito en C con un compilador de Objective-C, y también puede incluir libremente código en C dentro de una clase de Objective-C.  
+
<div align="justify">Objective-C consiste en una capa muy fina situada por encima de C, y además es un estricto superconjunto de C. Esto es, es posible compilar cualquier programa escrito en C con un compilador de Objective-C, y también puede incluir libremente código en C dentro de una clase de Objective-C. </div>
Esto es, para escribir el programa clásico "Hola Mundo" para correr en consola, se puede utilizar el siguiente código:
 
  
#import <stdio.h>
+
Esto es, para escribir el programa clásico "Hola Mundo" para correren consola, se puede utilizar el siguiente código:
int main( int argc, const char *argv[] ) {
+
 
    printf( "Hola Mundo\n" );
+
  #import <stdio.h>
    return 0;
+
  int main( int argc, const char *argv[] ) {
}
+
      printf( "Hola Mundo\n" );
 +
      return 0;
 +
  }
 +
 
 +
<div align="justify">El código anterior se diferencia de un código en C común por la primera instrucción #import, que difiere del #include del C clásico,pero la función printf("") es puramente C. La función propia de Objective-C para imprimir una cadena de caracteres en consola esNSLog(@""); utilizándola, el código anterior quedaría de la siguientemanera:</div>
 +
 
 +
  int main( int argc, const char *argv[] )
 +
  {
 +
      NSLog( @"Hola Mundo\n" );
 +
      return 0;
 +
  }
 +
<div align="justify">La sintaxis de objetos de Objective-C deriva de [[Smalltalk]]. Toda la sintaxis para las operaciones no orientadas a objetos(incluyendo variables primitivas, pre-procesamiento, expresiones,declaración de funciones y llamadas a funciones) son idénticas a las de C, mientras que la sintaxis para las características orientadas a objetos es una implementación similar a la mensajería de Smalltalk.</div>
  
 
==Protocolos==
 
==Protocolos==
<div align="justify">Objective-C fue extendido en NeXT para introducir el concepto de herencia múltiple de la especificación, pero no la implementación, a través de la introducción de protocolos. Este es un modelo viable, ya sea como una clase base abstracta multi-heredada en C++, o como una "interfaz" (como en Java o C#). Objective-C hace uso de protocolos ad-hoc, llamados protocolos informales, y el compilador debe cumplir los llamados protocolos formales.
+
[[Image:Objetive.jpeg|thumb|rightt|Objetive C]]
 +
<div align="justify">Objective-C fue extendido en [[NeXT]] para introducir el concepto de herencia múltiple de la especificación, pero no la implementación, a través de la introducción de protocolos. Este es un modelo viable, ya sea como una clase base abstracta multi-heredada en C++, o como una "interfaz" (como en [[Java]] o C#). Objective-C hace uso de protocolos ad-hoc, llamados [[protocolos]] informales, y el compilador debe cumplir los llamados protocolos formales.
  
 
==Fuentes==   
 
==Fuentes==   
http://www.macprogramadores.org/?q=content/objective-c
+
*http://www.macprogramadores.org/?q=content/objective-c
http://gorkasg.wordpress.com/2010/04/28/objective-c-para-lerdos/
+
 
http://www.macprogramadores.org/?q=content/objective-c
+
*http://gorkasg.wordpress.com/2010/04/28/objective-c-para-lerdos/
http://sabia.tic.udc.es/gc/Contenidos%20adicionales/trabajos/Interfaces/mac/cocoa3_6.html
+
 
 +
*http://www.macprogramadores.org/?q=content/objective-c
 +
 
 +
*http://sabia.tic.udc.es/gc/Contenidos%20adicionales/trabajos/Interfaces/mac/cocoa3_6.html
  
  

Revisión del 13:28 12 oct 2011

Objective-C
Información sobre la plantilla
Objetive1.png
El lenguaje Objective-C es un lenguaje de programación sencillo diseñado para permitir a sofisticados programación orientada a objetos.
CreadorJCCSC-II
Fecha de Creación2011
Objective-C es, cómo C++, un lenguaje orientado a objetos que desciende de C. Esta descendencia hace que Objective-C sea compatible hacia atrás, haciendo esto que mucha de la sintaxis y características de C estén presentes en Objective-C.


Características

  • Sentencias de control de flujo (if, for, while...)
  • Tipos de datos fundamentales,estructuras y punteros.
  • Conversiones implícitas y explícitas entre tipos.
  • El ámbito de las variables:Global, estáticas o locales.
  • Las funciones y su sintaxis.
  • Las directivas del preprocesador (añadiendo Objective-C las suyas, así como las llamadas directivas del compilador).

Diferencias entre otros lenguajes

Objetive C
Una característica que diferencie a Objective-C de otros lenguajes (ya no sólo de C++), ésta sería su dinamismo, en el sentido de que Objective-C es un lenguaje marcadamente dinámico. Muchas de las decisiones que otros lenguajes toman en tiempo de compilación, Objective-C las toma en tiempo de ejecución.

En Objective-C, a diferencia de C++, los objetos siempre se crean en memoria dinámica. Los atributos de una clase no tienen por que estar tipificados estáticamente.

Objective-C dispone de un gran número de características avanzadas como pueden ser los protocolos, las categorías, extensiones, el Key-Value Coding, el Key-Value Observing, la gestión de memoria y el recolector de basura, la gestión de excepciones.




Entornos orientados a objetos de desarrollo

  • Una biblioteca de objetos
  • Una suite de herramientas de desarrollo
  • Un entorno de ejecución
  • Una programación orientada a objetos del lenguaje

Sintaxis

Objective-C consiste en una capa muy fina situada por encima de C, y además es un estricto superconjunto de C. Esto es, es posible compilar cualquier programa escrito en C con un compilador de Objective-C, y también puede incluir libremente código en C dentro de una clase de Objective-C.

Esto es, para escribir el programa clásico "Hola Mundo" para correren consola, se puede utilizar el siguiente código:

  #import <stdio.h>
  int main( int argc, const char *argv[] ) {
      printf( "Hola Mundo\n" );
      return 0;
  }
El código anterior se diferencia de un código en C común por la primera instrucción #import, que difiere del #include del C clásico,pero la función printf("") es puramente C. La función propia de Objective-C para imprimir una cadena de caracteres en consola esNSLog(@""); utilizándola, el código anterior quedaría de la siguientemanera:
  int main( int argc, const char *argv[] ) 
  {
      NSLog( @"Hola Mundo\n" );
      return 0;
  }
La sintaxis de objetos de Objective-C deriva de Smalltalk. Toda la sintaxis para las operaciones no orientadas a objetos(incluyendo variables primitivas, pre-procesamiento, expresiones,declaración de funciones y llamadas a funciones) son idénticas a las de C, mientras que la sintaxis para las características orientadas a objetos es una implementación similar a la mensajería de Smalltalk.

Protocolos

Objetive C
Objective-C fue extendido en NeXT para introducir el concepto de herencia múltiple de la especificación, pero no la implementación, a través de la introducción de protocolos. Este es un modelo viable, ya sea como una clase base abstracta multi-heredada en C++, o como una "interfaz" (como en Java o C#). Objective-C hace uso de protocolos ad-hoc, llamados protocolos informales, y el compilador debe cumplir los llamados protocolos formales.

Fuentes