¿No sabes por dónde empezar? Ayúdanos normalizando artículos.
¿Tienes experiencia? Crea alguno de estos artículos de actualidad.

Diferencia entre revisiones de «Objetive-c»

Línea 1: Línea 1:
{{Normalizar}}
 
 
{{Ficha Software
 
{{Ficha Software
 
|nombre= Objective-C   
 
|nombre= Objective-C   
Línea 27: Línea 26:
 
|web=
 
|web=
 
}}   
 
}}   
<div align="justify"> '''Objective-C''', lenguaje de programación similar a [[C++]], orientado a objetos que desciende de C. Esta descendencia hace que Objective-C sea compatible con las versiones anteriores, haciendo esto que mucha de la sintaxis y características de C estén presentes en Objective-C. </div>
+
<div align="justify"> '''Objective-C''', lenguaje de programación similar a [[C++]], orientado a objetos que desciende de C. Esta descendencia hace que Objective-C sea compatible con las versiones anteriores, haciendo esto que mucha de la sintaxis y características de C estén presentes en Objective-C.
<br>
 
 
==Características==   
 
==Características==   
*Sentencias de control de flujo (if, for, while...)        
+
*Sentencias de control de flujo (if, for, while...)
       
+
*Tipos de datos fundamentales,estructuras y punteros.
*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.
*Conversiones implícitas y explícitas entre tipos.        
+
*Las funciones y su sintaxis.
       
 
*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).  
 
*Las directivas del preprocesador (añadiendo Objective-C las suyas, así como las llamadas directivas del compilador).  
  
Línea 45: Línea 38:
 
    
 
    
 
[[Image:Objetive2.jpeg|thumb|left|Objetive C]]
 
[[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++), es su dinamismo, ya que 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.  
 
*Una característica que diferencie a Objective-C de otros lenguajes (ya no sólo de C++), es su dinamismo, ya que 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.
*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>
+
*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.
<br>
 
<br>
 
 
 
 
 
 
 
 
 
 
==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 hace 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>
+
Objective-C consiste en una capa muy fina situada por encima de C, y además es un estricto superconjunto de C. Esto hace 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.
  
 
Para escribir el programa clásico "Hola Mundo" para que pueda correr en consola, se puede utilizar el siguiente código:
 
Para escribir el programa clásico "Hola Mundo" para que pueda correr en consola, se puede utilizar el siguiente código:
Línea 78: Línea 64:
 
==Protocolos==
 
==Protocolos==
 
[[Image:Objetive.jpeg|thumb|rightt|Objetive C]]
 
[[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.
+
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
+
*Artículo: [http://www.macprogramadores.org/?q=content/objective-c Objective-C]. Disponible en: "www.macprogramadores.org". Consultado: 12 de octubre de 2011.
 
+
*Suárez, Gorka. [http://gorkasg.wordpress.com/2010/04/28/objective-c-para-lerdos/ Objective-C para “lerdos” (que sepan Java o C#)]. Disponible en: "gorkasg.wordpress.com". Consultado: 12 de octubre de 2011.
*http://gorkasg.wordpress.com/2010/04/28/objective-c-para-lerdos/
+
*Artículo: [http://sabia.tic.udc.es/gc/Contenidos%20adicionales/trabajos/Interfaces/mac/cocoa3_6.html Propiedades]. Disponible en: "sabia.tic.udc.es". Consultado: 12 de octubre de 2011.
 
 
*http://www.macprogramadores.org/?q=content/objective-c
 
 
 
*http://sabia.tic.udc.es/gc/Contenidos%20adicionales/trabajos/Interfaces/mac/cocoa3_6.html
 
 
 
 
 
 
 
  
[[Category:Ciencias_informáticas]] [[Category:Software]]
+
[[Category:Ciencias_informáticas]][[Category:Software]]

Revisión del 17:49 16 dic 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, lenguaje de programación similar a C++, orientado a objetos que desciende de C. Esta descendencia hace que Objective-C sea compatible con las versiones anteriores, 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 con otros lenguajes

Objetive C
  • Una característica que diferencie a Objective-C de otros lenguajes (ya no sólo de C++), es su dinamismo, ya que 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.
  • 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.

Sintaxis

Objective-C consiste en una capa muy fina situada por encima de C, y además es un estricto superconjunto de C. Esto hace 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.

Para escribir el programa clásico "Hola Mundo" para que pueda correr en 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.

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