UM POUCO SOBRE A HISTÓRIA DO C# E.NET
|
|
|
- Ivan Geovane Delgado Veiga
- 8 Há anos
- Visualizações:
Transcrição
1 O que é C# e.net UM POUCO SOBRE A HISTÓRIA DO C# E.NET Entender um pouco da história do C# e do.net é essencial para enxergar os motivos que a levaram ao sucesso. No final da década de 1990 a Microsoft tinha diversas tecnologias e linguagens de programação para resolver muitos problemas diferentes. Toda vez que um programador precisava migrar para uma nova linguagem, era necessário aprender tanto a nova linguagem quanto suas bibliotecas e conceitos. Para solucionar esses problemas, a Microsoft recorreu à linguagem Java. O Java agradou os engenheiros da Microsoft pois com ela podíamos construir programas que eram independentes do ambiente de execução, além de possuir diversas bibliotecas com soluções prontas para diversos problemas. Para lançar produtos baseados no Java, a Microsoft assinou um acordo de licenciamento com a Sun para utilizar o Java em ambiente Windows. Porém, a linguagem Java possuía um grave problema: ela não se comunicava bem com o as bibliotecas de código nativo (código de máquina) que já existiam. Para resolver isso, a Microsoft decidiu criar a sua própria implementação do Java chamado J++ que possuía extensões proprietárias que resolviam o problema de comunicação com o código nativo existente. Para o desenvolvimento dessa nova implementação do Java, a Microsoft contratou um engenheiro chamado Anders Hejlsberg, um dos principais nomes por trás do Delphi. O J++ era uma versão da linguagem Java que só podia ser executada no ambiente Microsoft. Seu código não podia ser executado em mais nenhum ambiente Java, o que violava o licenciamento feito com a Sun e, por isso, a Microsoft foi processada. Uma das mais conhecidas batalhas judiciais da época. Sem o J++, a Microsoft foi obrigada a repensar sua estratégia sobre como lidar com as diferentes linguagens e tecnologias utilizadas internamente. A empresa começou a trabalhar em um nova plataforma que seria a base de todas as suas soluções, que posteriormente foi chamada de.net. Esse novo ambiente de desenvolvimento da Microsoft foi desde o início projetado para trabalhar com diversas linguagens de programação, assim diversas linguagens diferentes compartilhariam o mesmo conjunto de bibliotecas. Com isso, para um programador migrar de uma linguagem para outra ele precisaria apenas aprender a linguagem sem se preocupar com as bibliotecas e APIs. Além de uma plataforma a Microsoft também precisava de uma linguagem de programação. Um novo projeto de linguagem de programação foi iniciado, o projeto COOL (C-like Object Oriented Language). Anders Hejlsberg foi escolhido como engenheiro chefe desse novo projeto. COOL teve seu design baseado em diversas outras linguagens do mercado como Java, C, C++, Smalltalk, Delphi e VB. A ideia era estudar os problemas existentes e incorporar soluções. Em 2002, o projeto COOL foi lançado como linguagem C# 1.0 junto com o ambiente.net 1.0. Atualmente a linguagem C# está em sua versão 5.0 e o.net na versão 4.5.1, tendo evoluído com expressiva velocidade, adotando novidades na sua sintaxe que a diferenciaram bastante do Java e outras concorrentes. MÁQUINA VIRTUAL Em uma linguagem de programação como C e Pascal, temos a seguinte situação quando vamos compilar um programa:
2 O código fonte é compilado para código de máquina específico de uma plataforma e sistema operacional. Muitas vezes o próprio código fonte é desenvolvido visando uma única plataforma! Esse código executável (binário) resultante será executado pelo sistema operacional e, por esse motivo, ele deve saber conversar com o sistema operacional em questão. Isto é, temos um código executável diferente para cada sistema operacional diferente. Precisamos reescrever um mesmo pedaço da aplicação para diferentes sistemas operacionais, já que eles não são compatíveis. O C# utiliza o conceito de máquina virtual. Entre o sistema operacional e a aplicação existe uma camada extra responsável por "traduzir" mas não apenas isso o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional onde ela está rodando no momento. Repare que uma máquina virtual é um conceito bem mais amplo que o de um interpretador. Como o próprio nome diz, uma máquina virtual é como um "computador de mentira": tem tudo que um computador tem. Em outras palavras, ela é responsável por gerenciar memória, threads, a pilha de execução etc. Sua aplicação roda sem nenhum envolvimento com o sistema operacional! Sempre conversando apenas com a máquina virtual do C#, a Common Language Runtime (CLR). A CLR é o ambiente de execução para todas as linguagens da plataforma.net, não apenas para o C#. Certamente isso não foi uma revolução. O Java trouxe esse conceito para o mercado e já havia muitas linguagens com esses recursos, apesar de que eram encontradas mais no meio acadêmico. O CLR isola totalmente a aplicação do sistema operacional. Se uma aplicação rodando no CLR termina abruptamente, ela não afetará as outras máquinas virtuais e nem o sistema operacional. Essa camada de isolamento também é interessante quando pensamos em um servidor que não pode se sujeitar a rodar código que possa interferir na boa execução de outras aplicações. Como a máquina virtual deve trabalhar com diversas linguagens de programação diferentes, a CLR não pode executar diretamente o código do C#, ela precisa executar uma linguagem intermediária comum a todas as linguagens da plataforma.net, a CIL (Common Intermediate Language). Para gerar o CIL que será executado pela CLR, precisamos passar o código C# por um compilador da linguagem, como o programa csc.exe. O compilador lê o arquivo com o código fonte do programa e o traduz para o código intermediário que será executado pela máquina virtual. Common Language Infrastructure A infraestrutura necessária para executar os códigos escritos para a plataforma.net é chamada de CLI (Common Language Infrastructure). A CLI engloba a máquina virtual do C# (CLR), a linguagem intermediária (CIL) e os tipos base utilizados nos programas. TIPOS PRIMITIVOS Vimos que no C# toda variável possui um tipo, utilizamos o int quando queremos armazenar valores inteiros e double para números reais. Agora vamos descobrir quais são os outros tipos de variáveis do C#.
3 Os tipos listados nessa tabela são conhecidos como tipos primitivos ou value types da linguagem C#. Toda vez que atribuímos um valor para uma variável de um tipo primitivo, o C# copia o valor atribuído para dentro da variável. Suponha que temos um código que declara uma variável do tipo inteiro e depois tenta copiar seu conteúdo para uma variável long: int valor = 1; long valorgrande = valor; Nesse caso, como o tamanho de uma variável long é maior do que o de uma variável int, o C# sabe que podemos copiar o seu conteúdo sem perder informações e, por isso, esse é um código que compila sem nenhum erro. Agora vamos tentar copiar o int para uma variável do tipo short: int valor = 1; short valorpequeno = valor; Nesse código, tentamos copiar o conteúdo de uma variável maior para dentro de uma de tamanho menor. Essa cópia pode ser perigosa pois o valor que está na variável do tipo int pode não caber na variável short e, por isso, o compilador do C# gera um erro de compilação quando tentamos fazer essa conversão.
4 Para forçarmos o compilador do C# a fazer uma conversão perigosa, precisamos utilizar uma operação do C# chamada casting falando para qual tipo queremos fazer a conversão. int valor = 1; short valorpequeno = (short) valor; ARMAZENANDO TEXTO EM VARIÁVEIS Além dos tipos primitivos, o C# também possui um tipo específico para armazenar textos. No tipo string, podemos guardar qualquer valor que seja delimitado por aspas duplas, por exemplo: string mensagem = "Minha Mensagem"; MessageBox.Show(mensagem); Podemos juntar o valor de duas variáveis do tipo string utilizando o operador + da linguagem. A soma de strings é uma operação conhecida como concatenação. string mensagem = "Olá "; string nome = "victor"; MessageBox.Show(mensagem + nome); Esse código imprime o texto Olá victor em uma caixa de mensagens. Podemos utilizar a concatenação para adicionar o conteúdo de qualquer variável em uma string: int idade = 25; string mensagem = "sua idade é: " + idade; MessageBox.Show(mensagem); Esse segundo código imprime o texto sua idade é: 25. CONVENÇÃO DE NOMES Quando criamos uma classe, é importante lembrarmos que seu código será lido por outros desenvolvedores da equipe e, por isso, é recomendável seguir padrões de nomenclatura. Quando criamos uma classe, a recomendação é utilizar o Pascal Casing para nomear a classe: Se o nome da classe é composto por uma única palavra, colocamos a primeira letra dessa palavra em maiúscula (conta se torna Conta); Se o nome é composto por diversas palavras, juntamos todas as palavras colocando a primeira letra de cada palavra em maiúscula (seguro de vida se tornasegurodevida).
5 No caso do nome de métodos, a convenção também é utilizar o Pascal Casing (Saca e Deposita, por exemplo). Para argumentos de métodos, variáveis e atributos de classes, a recomendação é utilizar o Pascal Casing porém com a primeira letra em minúscula (valordosaque, por exemplo), uma convenção chamada Camel Casing. Para Propriedades, convém utilizar o Pascal Casing. Você pode encontrar as recomendações da Microsoft nesse link: ENCAPSULAMENTO Quando liberamos o acesso aos atributos de uma classe, estamos permitindo que qualquer programador faça a sua própria implementação não segura da lógica, da forma que quiser. Se a modificação do atributo ficasse restrita à classe que o declara, todos que quisessem acessar os atributos da classe, teriam de fazê-lo através de métodos da classe. Na orientação a objetos, esconder os detalhes de implementação de uma classe é um conceito conhecido como encapsulamento. Como os detalhes de implementação da classe estão escondidos, todo o acesso deve ser feito através de seus métodos públicos. Não permitimos aos outros saber COMO a classe faz o trabalho dela, mostrando apenas O QUÊ ela faz. Para esconder um atributo, temos que modificar o acesso ao atributo para que ele seja privado, private: // outros atributos aqui private double saldo; public void Saca(double valor) this.saldo -= valor; public void Deposita(double valor) this.saldo += valor;
6 Atributos e métodos private são acessados apenas pela própria classe. Ou seja, o método Saca(), por exemplo, consegue fazer alterações nele. Mas outras classes não conseguem acessá-lo diretamente! O compilador não permite! CONTROLANDO O ACESSO COM PROPERTIES Vimos que podemos proibir o acesso externo a um atributo utilizando o private do C#, mas o private também bloqueia a leitura do atributo, logo para recuperarmos seu valor, precisamos de um novo método dentro da classe que nos devolverá o valor atual do atributo: private double saldo; private int numero; // outros atributos e métodos da conta public double PegaSaldo() return this.saldo; Agora para mostrarmos o saldo para o usuário, utilizaríamos o seguinte código: Conta conta = new Conta(); // inicializa a conta MessageBox.Show("saldo: " + conta.pegasaldo()); Além disso, a conta precisa de um número, mas como ele foi declarado como private, não podemos acessá-lo diretamente. Precisaremos de um novo método para fazer esse trabalho: private int numero; // outros atributos e métodos da conta public void ColocaNumero(int numero)
7 ETEC Drª Ruth Cardoso - Técnico em Informática - DSII Profº Marcus Vinicius de Melo Pereira this.numero = numero; Para colocarmos o número na conta, teríamos que executar esse código: Conta conta = new Conta(); conta.colocanumero(1100); //utiliza a conta no código Veja que com isso nós conseguimos controlar todo o acesso a classe Conta, mas para escrevermos ou lermos o valor de um atributo precisamos utilizar os métodos. O ideal seria utilizarmos uma sintaxe parecida com a de acesso a atributos, porém com o controle que o método nos oferece. Para resolver esse problema, o C# nos oferece as properties (propriedades). A declaração de uma propriedade é parecida com a declaração de um atributo, porém precisamos falar o que deve ser feito na leitura (get) e na escrita (set) da propriedade private int numero; public int Numero get // código para ler a propriedade set // código para escrever na propriedade
8 Na leitura da propriedade, queremos devolver o valor do atributo numero da Conta: private int numero; public int Numero get return this.numero; Com isso, podemos ler a propriedade Numero com o seguinte código: Conta c = new Conta(); MessageBox.Show("numero: " + c.numero); Veja que o acesso ficou igual ao acesso de atributos, porém quando tentamos ler o valor de uma propriedade estamos na verdade executando um bloco de código (get da propriedade) da classe Conta. Para definirmos o número da conta, utilizaremos o código: Conta c = new Conta(); c.numero = 1; Quando tentamos escrever em uma propriedade, o C# utiliza o bloco set para guardar seu valor. Dentro do bloco set, o valor que foi atribuído à propriedade fica dentro de uma variável chamada value, então podemos implementar o set da seguinte forma: private int numero; public int Numero // declaração do get
9 set this.numero = value; Podemos também declarar uma propriedade que tem apenas o get, sem o set. Nesse caso, estamos declarando uma propriedade que pode ser lida mas não pode ser escrita. Com as properties conseguimos controlar completamente o acesso aos atributos da classe utilizando a sintaxe de acesso aos atributos. SIMPLIFICANDO A DECLARAÇÃO DE PROPRIEDADES COM AUTO- IMPLEMENTED PROPERTIES Utilizando as properties, conseguimos controlar o acesso às informações da classe, porém, como vimos, declarar uma property é bem trabalhoso. Precisamos de um atributo para guardar seu valor, além disso, precisamos declarar o get e oset. Para facilitar a declaração das properties, a partir do C# 3.0, temos as propriedades que são implementadas automaticamente pelo compilador, as auto-implemented properties. Para declararmos uma auto-implemented property para expor o número da conta, utilizamos o seguinte código: public int Numero get; set; Esse código faz com que o compilador declare um atributo do tipo int (cujo nome só é conhecido pelo compilador) e gere o código para a propriedade Numerocom um get e um set que leem e escrevem no atributo declarado. Repare que ao utilizarmos as autoimplemented properties, só podemos acessar o valor do atributo declarado através da propriedade. Toda vez que declaramos um auto-implemented property, precisamos sempre declarar um get e um set para a propriedade, porém podemos controlar a visibilidade tanto do get quanto do set. Por exemplo, no caso do saldo, queremos permitir que qualquer um leia o saldo da conta, porém apenas a própria conta pode alterá-lo. Nesse caso, utilizamos o seguinte código: // outras propriedades
10 // get é público e pode ser acessado por qualquer classe // set é privado e por isso só pode ser usado pela conta. public double Saldo get; private set; // resto do código da classe. Agora vamos ver um código que tenta ler e escrever nas propriedades que declaramos: Conta c = new Conta(); c.numero = 1; // funciona pois o set do Numero é público MessageBox.Show("numero: " + c.numero); // funciona pois o get do Numero é público c.saldo = 100.0; // set do Saldo é privado, então temos um erro MessageBox.Show("saldo " + c.saldo); // funciona pois o get do Saldo é público. Veja que tanto declarando properties explicitamente quanto utilizando as auto-implemented properties, temos o controle total sobre quais informações serão expostas pela classe. Então devemos utilizar properties toda vez que queremos expor alguma informação da classe. Nunca devemos expor atributos da classe (utilizando opublic), pois nunca queremos expor os detalhes de implementação da classe. Construtores Considere o exemplo a seguir onde um cliente é instanciado e, logo após, seu nome é definido: Cliente guilherme = new Cliente(); guilherme.nome = "Guilherme"; E se esquecermos de chamar a segunda linha desse código, teremos um cliente sem nome. Mas, será que faz sentido existir um cliente sem nome? Para evitar isso, ao construir nosso objeto temos que obrigar o desenvolvedor a falar qual o nome do Cliente. Isto é, queremos ser capazes de alterar o comportamento da construção do objeto. Queremos definir um novo comportamento que dirá como será construído o objeto. Algo como:
11 Cliente guilherme = new Cliente("Guilherme Silveira"); Note que esse comportamento que desejamos lembra um comportamento normal, passando argumentos, mas com a característica especial de ser quem constrói um objeto. Esse comportamento recebe o nome de construtor. E como defini-lo? Similarmente a um comportamento qualquer: class Cliente // Outros atributos da classe Cliente public string Nome get; set; public Cliente (string nome) this.nome = nome; Vimos que quando criamos um construtor na classe, o C# usa o construtor criado para inicializar o objeto, porém o que acontece quando não temos nenhum construtor na classe? Quando uma classe não tem nenhum construtor, o C# coloca um construtor padrão dentro da classe. Esse construtor não recebe argumentos e não executa nenhuma ação, ou seja, um construtor que não recebe nenhum argumento e tem o corpo vazio. MÚLTIPLOS CONSTRUTORES DENTRO DA CLASSE Na seção anterior definimos um construtor dentro da classe cliente que inicializa a propriedade nome, mas e se quiséssemos inicializar também a idade do Cliente durante a construção do objeto? Nesse caso, precisaríamos de um construtor adicional na classe Cliente: class Cliente public string Nome get; set; public int Idade get; set; // construtor que só recebe o nome public Cliente (string nome) this.nome = nome; // construtor que recebe o nome e a idade public Cliente (string nome, int idade) this.nome = nome; this.idade = idade;
12 Veja que definimos duas versões diferentes do construtor da classe, uma que recebe apenas a string nome e outra que recebe string nome e int idade. Quando colocamos diversas versões do construtor dentro de uma classe, estamos fazendo uma sobrecarga de construtores. PARA SABER MAIS INITIALIZER Vimos que podemos utilizar um construtor para pedir informações obrigatórias para a classe. Mas, por exemplo, temos a classe Cliente e apenas seu nome é obrigatório, então podemos pedir essa informação no construtor da classe. Cliente cliente = new Cliente ("Victor Harada"); Mas o cliente também possui CPF, RG e idade. Para colocarmos essas informações no cliente que criamos precisamos do código: Cliente cliente = new Cliente ("Victor Harada"); cliente.cpf = " "; cliente.rg = " x"; cliente.idade = 25; Veja que em todas as linhas estamos repetindo o nome da variável que guarda a referência para o cliente. Para evitar essa repetição, podemos utilizar os initializers do C#. O Initializer é um bloco de código que serve para inicializar as propriedades públicas do objeto. Cliente cliente = new Cliente ("Victor Harada") // bloco de inicialização Cpf = " ", Rg = " x", Idade = 25 ;
Aula 01. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos II Aula 01 Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... - Apresentação da disciplina;
Aula 02. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos II Aula 02 Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... - O que é C# e.net - Um
Modificadores de Acesso e Atributos de Classe
Modificadores de Acesso e Atributos de Classe 1 Controlando o acesso p Um dos problemas mais simples que temos no nosso sistema de contas é que o método saca permite sacar mesmo que o limite tenha sido
GRUPO: Rafael Igor Vanderlei Vieira
GRUPO: Rafael Igor Vanderlei Vieira C# INTRODUÇÃO Paradigmas: Orientado a objeto; Estruturado; Imperativo; Surgimento: 2002. Criador: Anders Hejlsberg. Principais Compiladores:.NET Framework (Windows),
Tema da aula Introdução ao paradigma de programação: Orientado a Objetos
Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes [email protected] 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Linguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS
JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS LABORATÓRIO 2 PROF. EMILIO PARMEGIANI Neste laboratório trabalharemos com conceitos de orientação a objetos, através da criação de classes, propriedades,
OO - Orientação a Objetos
OO - Orientação a Objetos 1 Motivação p Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas enfrentados pela programação procedural; p Imaginem em um grande
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli
Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,
Laboratório de Programação II
Laboratório de Programação II Aula 02 Prof. Diemesleno Souza Carvalho [email protected] http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... 01 Introdução à linguagem C;
Classes o Objetos. Classes, objetos, métodos e variáveis de instância
Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento
PRDS C#.Net Alexandre L. Silva
PRDS 2011.1 C#.Net Alexandre L. Silva [email protected] Programa 1. Introdução ao.net 2. Introdução ao ASP.Net 3. Introdução ao C#.Net 4. Primeiro programa 5. Métodos e Variáveis 6. Estruturas
Profº Elton Rodrigo Apostila de ASP.Net
1 Esta apostila foi criada e editada com base em informações contidas nos sites imasters.com.br, caelum.com.br, linhadecodigo.com.br, infowester.com, oficinadanet.com.br, caelum.com.br, diegomacedo.com.br
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
C com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
Framework.NET. Linguagem de Programação III. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo
Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem
Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno [email protected] Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos
Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis
Introdução ao Visual Studio com
APOSTILA C# E ORIENTAÇÃO A OBJETOS CAPÍTULO 9 Introdução ao Visual Studio com Windows Form Agora que já sabemos os conceitos básicos de Orientação a Objetos, chegou a hora de aprendermos como ganhar produtividade
1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Professor Leo Larback Esta apresentação pode ser baixada livremente no site
C# Professor Leo Larback Esta apresentação pode ser baixada livremente no site www.larback.com.br C# - Definições C# é uma linguagem orientada a objeto que permite aos desenvolvedores construírem uma variedade
TÉCNICAS DE ORIENTAÇÃO A OBJETOS
TÉCNICAS DE ORIENTAÇÃO A OBJETOS APLICAÇÃO EM: C# E JAVA Sumário INTRODUÇÃO... 4 PARADIGMAS DE PROGRAMAÇÃO... 5 PROGRAMAÇÃO PROCEDURAL... 5 PROGRAMAÇÃO ESTRUTURADA... 5 PROGRAMAÇÃO ORIENTADA A OBJETOS...
Array em Java. Figura 1 - Exemplo de um array de inteiros
Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:
Modificadores de acesso e atributos de classe
Modificadores de acesso e atributos de classe Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli
Técnico em Informática Web JavaScript Profª Ana Paula Mandelli [email protected] Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela
Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação
Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes [email protected] http://softwarelivre.org/zenorato/honoratonunes Linguagem C Prof.
Desenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Java Variáveis e Controle Fluxo
Java Variáveis e Controle Fluxo 1 Variáveis primitivas p Todo bloco em java é delimitado por chaves ({ } ); p Dentro de um bloco, podemos declarar variáveis e usa las; p Em Java, toda variável tem um tipo
Programação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto [email protected] [email protected] 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
Daniel Wildt
Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória
Introdução à plataforma Java
Introdução à plataforma Java Apresentação: Professor: Galvez Gonçalves [email protected] O que estudaremos 1. Os conceitos de programação orientada a objetos através de uma linguagem de programação que
Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno
Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Visibilidade de membros Membro da classe derivada pode usar os membros públicos ( public ) e protegidos ( protected ) da sua classe base (como
Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.
2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam
Linguagem de Programação Introdução a Orientação a Objetos
Linguagem de Programação Introdução a Orientação a Objetos Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição de Orientação a Objetos. Orientação a Objetos:
Declaração de Construtores em Java
Programando com Java Artigo http://mballem.wordpress.com/ Declaração de Construtores em Java Para que serve e como usar um Construtor em Java Autor Marcio Ballem: é formado em Sistemas de Informação e
SOBRE ESTA APOSTILA. A Caelum espera que você aproveite esse material. Todos os comentários, críticas e sugestões serão muito bem-vindos.
SOBRE ESTA APOSTILA Esta apostila da Caelum visa ensinar de uma maneira elegante, mostrando apenas o que é necessário e quando é necessário, no momento certo, poupando o leitor de assuntos que não costumam
Linguagem de Programação III
Linguagem de Programação III Aula-2 Introdução à Programação Orientada a Objetos Prof. Esbel Tomás Valero Orellana Modelos Modelos são representações simplificadas de objetos, pessoas, itens, tarefas,
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Orientação a Objetos e Java
Orientação a Objetos e Java Daves Martins [email protected] Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características
PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected]
Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes
Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes [email protected] Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores
PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS
PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos
<identificador>[<tamanho>]: <tipo>;
Vetores e Constantes Imagine uma situação na qual fosse necessário armazenar 100 valores para processamento. Por exemplo, pode ser necessário armazenar as notas de 100 provas de uma turma de alunos. Uma
Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):
Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de
PRIMEIRO PROGRAMA. Neste post iremos construir uma pequena classe destinada para soma de dois números.
PRIMEIRO PROGRAMA Olá pessoal! Neste post iremos construir uma pequena classe destinada para soma de dois números. Para este post, espero conseguir fazer o leitor entender algumas coisas: 1. Declaração
Programação Orientada a Objetos - 3º semestre AULA 01 Prof. André Moraes
Pág 3 Programação Orientada a Objetos - 3º semestre AULA 01 Prof. André Moraes 1 APRESENTAÇÃO DA UNIDADE CURRICULAR A unidade curricular de Programação Orientada a Objetos tem por objetivo promover o estudo
Programação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI
Introdução à Programação em C Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI Linguagem C Criada em 1972 para uso no LINUX; Sintaxe base para diversas outras (Java, JavaScript, PHP, C++,
SOBRE ESTA APOSTILA. A Caelum espera que você aproveite esse material. Todos os comentários, críticas e sugestões serão muito bem-vindos.
SOBRE ESTA APOSTILA Esta apostila da Caelum visa ensinar de uma maneira elegante, mostrando apenas o que é necessário e quando é necessário, no momento certo, poupando o leitor de assuntos que não costumam
Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva [email protected] br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Ponteiros de Variáveis
Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
JAVA. Professor: Bruno Toledo
JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código
Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;
Laboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
LINGUAGEM DE PROGRAMAÇÃO
Técnico em Informática LINGUAGEM DE PROGRAMAÇÃO Profª Ana Paula [email protected] JAVA Como qualquer linguagem de programação, a linguagem Java tem sua própria estrutura, regras de sintaxe
Linguagem de Programação
Linguagem de Programação Vetores e Strings int vetor[] / rand() / #define / char string[] / gets() Gil Eduardo de Andrade Vetores Introdução Um vetor pode ser definido como é um conjunto de elementos (variáveis)
Linguagem C Princípios Básicos (parte 1)
Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos
Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.
O que é Java Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos Responder o
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O
E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O REVIEW CLASSES E INSTÂNCIAS. REVIEW - O OPERADOR THIS This faz referencia a métodos e atributos da própria classe REVIEW - EXEMPLO
Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano
Linguagem de Programação 1 Unidade 2: Estruturas de Controle Parte 1 - Scanner e Estrutura IF Prof. Daniel Caetano Objetivo: Apresentar a classe Scanner e as principais estruturas de controle da linguagem
Linguagem de Programação C
Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem
PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS
PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS Prof. Dr. Daniel Caetano 2017-1 Objetivos Compreender os conceitos classe e objeto Compreender a função dos métodos e atributos e o conceito de encapsulamento
Programação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];
Aula 11 Introdução ao Java Script
Aula 11 Introdução ao Java Script Java Script é uma linguagem que permite trabalhar com a Lógica em páginas escritas em HTML (HiperText Mark-up Language). As páginas HTML podem ser escritas utilizando-se
Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos
Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos [email protected] Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;
Desenvolvendo aplicações Java
José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Desenvolvendo aplicações Java Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO JAVA... 1 1.1 A PLATAFORMA
Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano
Linguagem de Programação 1 Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Objetivo: Desenvolver a habilidade de comentar código adequadamente INTRODUÇÃO Até o momento
