Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Objective C

Realizado por Estudiantes de la Licenciatura en Ciencias de la Computacion en la Facultad Experimental de Ciencias de La Universidad del Zulia. Maracaibo, Edo. Zulia, Venezuela
by

Hugo A. Molina M.

on 20 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Objective C

BÁSICOS Paradigma, Principios de Diseño
Y
Nivel de Traducción Tipos de Datos. Variables Numericas. int El tipo de dato "int" puede guardar un número
Entero positivo o negativo. Dicho de otra forma
puede guardar numeros que no tengan valores
decimales.
Ejemplo;

int miEntero = 342;
int miEntero2 = -7; float El tipo de dato "float" puede guardar un número
Real positivo o negativo. Dicho de otra forma
puede guardar numeros que tengan valores
decimales.

Ejemplo;
float x = 342.456;

67.7 x 104 en Objective-C seria:
float myfloat = 67.7e4; double El tipo de dato "double" puede guardar un número
Real positivo o negativo de una longitud mayor que float. Dicho de otra forma puede guardar numeros que tengan valores
decimales mas largos.

Ejemplo;
double w = 342.4565783948373648393;

89.7 x 10^95
double myfloat = 89.7e25; BOOL Es el tipo de dato que tiene el propósito de manejar las condiciones de Verdadero y Falso (1 y 0 ). Lo declaramos usando las palabras _Bool o BOOL. Ejemplo;

_Bool flag = 0;
BOOL secondflag = 1; id Este tipo de dato esta encargado de mantener una referencia a un objeto cualquiera sin importar el tipo de dato del objeto en cuestión. OBJECTIVE C Basado en XCode Un poco de Historia... Es un lenguaje de programación orientado a objetos creado como un superconjunto de C para que implementase un modelo de objetos parecido al de Smalltalk.

Originalmente fue creado por Brad Cox y la corporación StepStone en 1980.

En 1988 fue adoptado como lenguaje de programación de NEXTSTEP y en 1992 fue liberado bajo licencia GPL para el compilador GCC.
Actualmente se usa como lenguaje principal de programación en
Mac OS X, iOS y GNUstep. CREACIÓN * Programación Estructurada * POO* Paso de Mensajes* Manejo directo de Memoria Niveles del Lenguaje Compilado

Seguro

Estricto

Tipado Fuerte

Unión Temprana SISTEMA DE TIPOS Sistema de tipos estático
•Cada variable tiene un tipo
•En el proceso de compilación se pueden verificar la mayor parte de las comprobaciones de tipos
Sistema de tipos dinámico
•Los valores tienen tipos, las variables no
•El chequeo de tipos se realiza durante la ejecución
•Mayor flexibilidad (permite implementar delegation) TABLA DE TIPOS BOOL: YES o NO, típico “true” o “false” de otros lenguajes . Internamente, definido como byte. No es 0 y YES cualquier otro valor distinto de 0.

char: 1 byte,valores desde -128 a 127.

unsigned char: 1 byte, valores de 0 a 255

short: 2 bytes, valores desde -32,768 a 32,767.

unsigned short: 2 bytes, valores desde 0 a 65,535.

unsigned: 4 bytes, valores desde 0 a 4,294,967,295.

int: 4 bytes, valores desde -2,147,483,648 a 2,147,483,647.

float: 4 bytes valores desde 1.18e-38 a 3.40e38..

double: 8 bytes, valores desde 2.23e-308 a 1.79e308.

long double: 10 bytes, valores desde 3.37e-4932 a 1.18e4932.

Constantes: const double nombreConstante = valor; Manejo de Memoria Y Excepciones Para el manejo de memoria Objetive-C ofrece tres mecanismos para este:

Calculo de Referencia Automática: La clase NSObject proporciona 5 metodos para gestionar la cuenta por referencia: Retain, retainCount, release, autorelease, dealloc. Calculo de Referencia Manual: El tiempo de vida de los objetos es decidido por el programador

Garbage collection: Automatiza completamente la liberación de memoria en los objetos sin que el programador tenga que preocuparse de realizar la gestión de memoria. Es similar al GarbageCollector de JAVA. Para el manejo de excepciones Objective-C tiene una sintaxis similar a Java y C++

Las excepciones en Objective-C se manejan con las directivas:
@try
@catch
@throw
@finally Las principales excepciones en Objective-C se encuentran en las clases NSException y NSError, aunque tambien como en otros lenguajes se pueden crear clases para el manejo de otras excepciones para adquirir robustez A principios de los 80, el software se desarrollaba usando programación estructurada. Muchos vieron que la programación orientada a objetos sería la solución al problema.

De hecho, Smalltalk ya tenía solucionados muchos de estos problemas: algunos de los sistemas más complejos en el mundo funcionaban gracias a Smalltalk. Pero Smalltalk usaba una máquina virtual, lo cual requería mucha memoria para esa época, y era demasiado lento. DESARROLLO EXTENSIBILIDAD, NORMALIZACION
Y
PORTABILIDAD En el marco de Extensibilidad Objective-C es similar a Java y C++, ya que este utiliza librerías, permite la herencia y la extensión a partir de interfaces.

Aunque se puede usar la palabra reservada #include nativa de C, la palabra reservada para Objective-C es #import. Pero algo que hace diferente a Objective-C de los demas es su extensibilidad de clases estandar.

Esto permite que uno pueda agregar metodos a las clases que pertenecen al lenguaje propio, sin tener que crear una subclase o hacer un metodo estatico en alguna otra clase. En cuanto a su Normalizacion, Objective-C no esta normalizado por ningun organismo internacional ya que Apple y NEXTSTEP son quienes han contribuido en crear y mejorar este lenguaje. Elementos Lexicales
&
Sintácticos 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. • Súper conjunto de C.

• Tiene algunas extensiones respecto a C, muy sencillas.

• Clases y mensajes.

• Algunos tipos nuevos (anónimo, selectores).

• Sigue la sintaxis de mensajes de Smalltalk.

• Herencia simple. Cada clase hereda de una y solo una súper clase.

• Permite la definición de protocolos que definen comportamientos comúnes para clases distintas.

• Permite usar un sistema de tipos dinámico, aunque también se pueden declarar los tipos. OBJECTIVE-C •Los objetos son creados siempre en memoria dinámica.

•No hay objetos en la pila.

•Se entregan los mensajes usando !"#$%&'()*+,-.

•Argumentos: el objeto, los selectores (nombre del método) y los argumentos.

•Se puede obtener mucha información del propio objeto (introspección) como la clase, la existencia de métodos, su relación jerárquica con otras clases.

•Necesario para manejar un sistema dinámico. Durante La Ejecución: Propósito General.

Actualidad: Desarrollo del Entorno MacOS, Aplicaciones Móviles (iOS). Dominio de Aplicación 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. SINTAXIS MENSAJES El modelo de programación orientada a objetos de Objective-C se basa en enviar mensajes a instancias de objetos. Esto es diferente al modelo de programación al estilo de Simula, utilizado por C++ y ésta distinción es semánticamente importante. En Objective-C uno no llama a un método; uno envía un mensaje, y la diferencia entre ambos conceptos radica en cómo el código referido por el nombre del mensaje o método es ejecutado.

En un lenguaje al estilo Simula, el nombre del método es en la mayoría de los casos atado a una sección de código en la clase objetivo por el compilador, pero en Smalltalk y Objective-C, el mensaje sigue siendo simplemente un nombre, y es resuelto en tiempo de ejecución: el objeto receptor tiene la tarea de interpretar por sí mismo el mensaje. Una consecuencia de esto es que el mensaje del sistema que pasa no tiene chequeo de tipo: el objeto al cual es dirigido el mensaje (conocido como receptor) no está inherentemente garantizado a responder a un mensaje, y si no lo hace, simplemente lo ignora y retorna un puntero nulo. En cuanto a Portabilidad:

Objective-C es portable en ciertos sentidos, Ya que este posee en teoria 3 tipos de sintaxis, la de Lenguaje C nativo, La de Lenguaje C pero con las instrucciones de Objective-C, y Objective-C puramente Orientado a Objetos.

Esto significa que solo los codigos realizados en C puro seran compatibles con otros compiladores Al ser un lenguaje privativo la portabilidad completa de Objective-C es netamente propia de Apple con el compilador XCode. Sin embargo, cabe destacar que hay editores de Objective-C como "EditRocket" para Windows y bajo la licencia libre de GNU el compilador GCC de Linux se puede utilizar para programar en este lenguaje. Continuando con la liberación de memoria,
existen métodos manuales para lograr hacer depuramiento de esta misma. Las clausulas release, autorelease y dealloc bien utilizadas en conjunto permiten la liberación de memoria sin ningún inconveniente específicamente cuando se desea desvincular y limpiar un objeto en memoria. XCode es el entorno de desarrollo integrado (IDE, en sus siglas en inglés) de Apple Inc. y se suministra gratuitamente junto con Mac OS X. XCode trabaja conjuntamente con Interface Builder, una herencia de NeXT, una herramienta gráfica para la creación de interfaces de usuario. INTRODUCIENDO XCODE XCode se introdujo el 24 de octubre de 2003 junto con la versión 10.3 de Mac OS X, siendo desarrollado a partir del anterior entorno de desarrollo de Apple, Project Builder, al que sustituyó. Project Builder, a su vez, también era una herencia de la compañía NeXT, fusionada con Apple en 1996.

Entre las características más apreciadas de XCode está la tecnología para distribuir el proceso de construcción a partir de código fuente entre varios ordenadores, utilizando Bonjour. NSLog(@"C'est Fini");
Full transcript