Notas sobre Aplicação MVC Contoso University: Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados

Tamanho: px
Começar a partir da página:

Download "Notas sobre Aplicação MVC Contoso University: Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados"

Transcrição

1 Notas sobre Aplicação MVC Contoso University: Parte 4 Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados Atributos: DisplayFormat (DataFormatString) MaxLength Column para mudar o nome da Coluna mapeada na base de dados Required (ErrorMessage) Display (Name) Key (chave primária) DatabaseGenerated (DatabaseGeneratedOption.None) Column para mudar o tipo de dados SQL mapeado na base de dados Acrescentar as entidades: Instrutor Escritorio Departamento Modificar a entidade Curso Atributo DisplayFormat As datas de inscrição de estudantes são mostradas juntamente com o tempo. Para que sejam mostradas num formato diferente (apenas a data) basta fazer uma única mudança no código colocar um atributo na propriedade DataInscricao na classe Estudante para que seja sempre mostrada nesse formato. Na classe Estudante acrescentar: [DisplayFormat(DataFormatString="0:d", ApplyFormatInEditMode=true)] public DateTime DataInscricao get; set; A string de formatação especifica que só a data deve ser mostrada. ApplyFormatInEditMode=true especifica que esta formatação também deve ser aplicada quando o valor da data é mostrado num campo de texto para edição. Testar. Atributo MaxLength Os atributos também servem para especificar regras de validação de dados e mensagens de erro. Para limitar o tamanho em caracteres dos atributos PrimeirosNomes e UltimoNome, fazemos as seguintes alterações à classe Estudante:

2 public string UltimoNome get; set; [MaxLength(50, ErrorMessage="Tamanho não pode exceder 50 carateres.")] public string PrimeirosNomes get; set; Testar. Um nome muito comprido no campo UltimoNome resulta numa mensagem de erro por omissão: The field UltimoNome must be a string or array type with a maximum length of '50'. Um nome muito comprido no campo PrimeirosNomes resulta na mensagem de erro configurada: Tamanho não pode exceder 50 carateres. A especificação do tamanho máximo para propriedades string faz com que as correspondentes colunas na base de dados tenham esse tamanho máximo. Na janela Server Explorer podemos verificar nas propriedades das colunas UltimoNome e PrimeirosNomes da tabela Estudantes que o tamanho é 50. Atributo Column Os atributos também servem para especificar como as classes e as propriedades são mapeadas na base de dados. Para designar por PrimNome a coluna da base de dados correspondente ao atributo PrimeirosNomes colocámos o atributo [Column( PrimNome )] antes da declaração da propriedade PrimeirosNomes. A tabela Estudantes será alterada de Estudantes( EstudanteId, UltimoNome, PrimeirosNomes, DataInscricao) para Estudantes( EstudanteId, UltimoNome, PrimNome, DataInscricao) Alterações à classe Estudante: [Column("PrimNome")] [MaxLength(50, ErrorMessage="Tamanho não pode exceder 50 carateres.")] public string PrimeirosNomes get; set; Testar. O acesso à página Estudante Index causa um acesso à base de dados, o que faz com que a base de dados seja automaticamente apagada e recriada.

3 Criar a entidade Instrutor using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ContosoUniversity.Models public class Instrutor public int InstrutorId get; set; [Required(ErrorMessage="Último nome é necessário.")] [Display(Name="Último Nome")] public string UltimoNome get; set; [Required(ErrorMessage="Primeiro nome é necessário.")] [Column("PrimNome")] [Display(Name="Primeiro Nome")] public string PrimeirosNomes get; set; [DisplayFormat(DataFormatString="0:d", ApplyFormatInEditMode=true)] [Required(ErrorMessage="Data de contrataçao é necessário.")] [Display(Name = "Data de Contrataçao")] public DateTime? DataContratacao get; set; public string NomeCompleto get return UltimoNome + ", " + PrimeirosNomes; public virtual ICollection<Curso> Cursos get; set; public virtual Escritorio Escritorio get; set; Atributo Required Especifica que este campo de dados é necessário. Atributo Display Especifica que a legenda para este campo de texto deve ser a especificada em vez do nome da propriedade. Propriedade calculada A propriedade NomeCompleto é uma propriedade que retorna a concatenação das 2 propriedades UltimoNome e PrimeirosNomes. Como é uma propriedade só de leitura não gera qualquer coluna na base de dados. Propriedades de navegação As propriedades de navegação são referências para outras entidades. São declaradas como virtual para permitir que o EF reescreva essas propriedades em subclasses para realizar lazy loading. De um modo simplicado o EF cria o tipo derivado e reescreve a propriedade,

4 colocando no getter uma chamada de um método extra DoLazyLoad() para carregar o objecto ou a colecção de objectos se ainda não estão carregados. Se uma propriedade de navegação contém muitas entidades o tipo de dados deve ser ICollection. Um Instrutor pode ensinar 0 ou mais Cursos. [ Instrutor ] * * [ Curso ] Um Instrutor pode ter 0 ou 1 Escritorio. [ Instrutor ] [ Escritorio ] Criar a entidade Escritorio using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ContosoUniversity.Models public class Escritorio [Key] public int InstrutorId get; set; [Display(Name = "Localização do Escritório")] public string Localizacao get; set; public virtual Instrutor Instrutor get; set; Atributo Key Um Escritorio só existe se tem 1 Instrutor atribuído. A chave primária de Escritorio InstrutorId também é chave estrangeira para a entidade Instrutor. O Entity Framework, por convenção, reconhece uma propriedade como chave primária se tem o nome Id ou <nome_classe>id. O atributo Key identifica a propriedade como chave primária.

5 Modificar a entidade Curso Um Curso é atribuído a um Departamento [ Departamento ] 1 * [ Curso ] Um Curso pode ser ensinado por muitos Instrutores [ Instrutor ] * * [ Curso ] Um curso pode ter muitos Estudantes Inscritos [ Inscricao ] * 1 [ Curso ] A entidade Curso já tinha a relação com a entidade Inscricao. Vamos acrescentar as relações com as entidades Departamento e Instrutor, acrescentando: uma chave estrangeira DepartamentoId, uma propriedade de navegação Departamento, uma propriedade de navegação Instrutores. De: Para: public class Curso public int CursoId get; set; public string Titulo get; set; public int Creditos get; set; public virtual ICollection<Inscricao> Inscricoes get; set; public class Curso [DatabaseGenerated(DatabaseGeneratedOption.None)] [Display(Name = "Número")] public int CursoId get; set; [Required(ErrorMessage = "Título necessário.")] public string Titulo get; set; [Required(ErrorMessage = "Número de créditos necessário.")] [Range(0, 5, ErrorMessage = "Número de créditos deve ser entre 0 e 5.")] public int Creditos get; set; [Display(Name = "Departamento")] public int DepartamentoId get; set; public virtual Departamento Departamento get; set; public virtual ICollection<Inscricao> Inscricoes get; set; public virtual ICollection<Instrutor> Instrutores get; set;

6 Por omissão, o Entity Framework assume que as chaves primárias são geradas pela base de dados. Mas neste caso o número de cada curso (chave primária propriedade CursoId) é especificado pelo utilizador. A configuração da propriedade CursoId com o atributo [DatabaseGenerated(DatabaseGeneratedOption.None)] especifica que os valores da chave primária são fornecidos pelo utilizador, em vez de gerados pela base de dados. Criar a entidade Departamento Um Departamento pode ter ou não um Administrador, e um administrador é sempre um Instrutor [Instrutor] 0..1 * [ Departamento] Um Departamento pode ter muitos Cursos [Curso] * 1 [ Departamento] public class Departamento public int DepartamentoId get; set; [Required(ErrorMessage = "Nome do Departamento necessário.")] public string Name get; set; [DisplayFormat(DataFormatString = "0:c")] [Required(ErrorMessage = "Budget é necessário.")] [Column(TypeName = "money")] public decimal? Budget get; set; [DisplayFormat(DataFormatString = "0:d", ApplyFormatInEditMode = true)] [Required(ErrorMessage = "Data de início é necessária.")] public DateTime DataInicio get; set; [Display(Name = "Administrador")] public int? InstrutorId get; set; public virtual Instrutor Administrador get; set; public virtual ICollection<Curso> Cursos get; set; Atributo Column já vimos que pode ser usado para mudar o nome da Coluna mapeada na base de dados, mas também serve para mudar o tipo de dados SQL mapeado na base de dados. [Column(TypeName = "money")] public decimal? Budget get; set; Configuração necessária para mapear o tipo de dados decimal no tipo SQL money.

7 Modificar a entidade Estudante De: public class Estudante public int EstudanteId get; set; public string UltimoNome get; set; [Column("PrimNome")] [MaxLength(50, ErrorMessage="Tamanho não pode exceder 50 carateres.")] public string PrimeirosNomes get; set; [DisplayFormat(DataFormatString="0:d", ApplyFormatInEditMode=true)] public DateTime DataInscricao get; set; public virtual ICollection<Inscricao> Inscricoes get; set; Para: public class Estudante public int EstudanteId get; set; [Required(ErrorMessage = "Ultimo Nome é necessário.")] [Display(Name = "Ultimo Nome")] public string UltimoNome get; set; [Required(ErrorMessage = "Primeiro Nome é necessário.")] [Column("PrimNome")] [Display(Name = "Primeiro Nome")] [MaxLength(50, ErrorMessage="Tamanho não pode exceder 50 carateres.")] public string PrimeirosNomes get; set; [Required(ErrorMessage = "Data de Inscrição é necessária.")] [DisplayFormat(DataFormatString="0:d", ApplyFormatInEditMode=true)] [Display(Name = "Data de Inscrição")] public DateTime? DataInscricao get; set; public string NomeCompleto get return UltimoNome + ", " + PrimeirosNomes; public virtual ICollection<Inscricao> Inscricoes get; set;

8 Modificar a entidade Inscricao Um registo de Inscricao refere um único Curso [Curso] 1 * [ Inscricao] Um registo de Inscricao refere um único Estudante [ Estudante ] 1 * [ Inscricao] De: public class Inscricao public int InscricaoId get; set; public int CursoId get; set; public int EstudanteId get; set; public decimal? Nota get; set; public virtual Curso Curso get; set; public virtual Estudante Estudante get; set; Para: public class Inscricao public int InscricaoId get; set; public int CursoId get; set; public int EstudanteId get; set; [DisplayFormat(DataFormatString = "0:#.#", ApplyFormatInEditMode = true, NullDisplayText = "Sem nota")] public decimal? Nota get; set; public virtual Curso Curso get; set; public virtual Estudante Estudante get; set; Relação muitos para muitos As entidades Instrutor e Curso têm uma relação muitos para muitos. Entity Framework cria automaticamente uma tabela de junção designada CursoInstrutor e lê e actualiza essa tabela quando usámos no programa as propriedades de navegação Instrutor.Cursos e Curso.Instrutores. [Instrutor] * * [ Curso]

9 Atributo DisplayFormat [DisplayFormat(DataFormatString = "0:#.#", ApplyFormatInEditMode = true, NullDisplayText = "Sem nota")] public decimal? Nota get; set; O atributo DisplayFormat na propriedade Nota especifica: a Nota é mostrada como 2 dígitos separados por um ponto, no modo de edição a Nota também é mostrada deste modo, se a propriedade Nota não está inicializada (decimal? indica que é uma propriedade nullable), mostra o texto sem nota. Alteração da classe DAL.EscolaContexto public class EscolaContexto : DbContext public DbSet<Departamento> Departamentos get; set; public DbSet<Instrutor> Instrutores get; set; public DbSet<Estudante> Estudantes get; set; public DbSet<Escritorio> Escritorios get; set; public DbSet<Inscricao> Inscricoes get; set; public DbSet<Curso> Cursos get; set; Erro ao executar: InvalidOperationException was unhandled by user code Unable to determine the principal end of an association between the types 'ContosoUniversity.Models.Escritorio' and 'ContosoUniversity.Models.Instrutor'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations. Há um tipo de relação para a qual Code First necessita sempre de configuração: é a relação um para um. Quando se define uma relação de um para um no modelo, usa se uma propriedade de navegação em cada classe, e Code First não consegue determinar qual é a classe dependente nesta situação. Para resolver esta situação devemos colocar a anotação ForeignKey na classe dependente para identificar que ela tem a chave estrangeira. Quando configurámos uma relação um para um. Entity Framework requer que a chave primária da classe dependente também seja a chave estrangeira. ForeignKey Especifica uma propriedade usada como chave estrangeira numa relação. A anotação deve ser colocada na propriedade chave estrangeira e especificar o nome da propriedade de navegação associada, ou colocada numa propriedade de navegação e especificar o nome da chave estrangeira associada.

10 Numa relação 1:N temos de um lado uma colecção e do outro uma referência, e Code First pode inferir que a classe com a referência é a dependente e deve ter uma chave estrangeira. Exemplo: relação entre Estudante e Inscricao: Um registo de Inscricao refere um único Estudante: Inscricao tem uma propr. de nav. ref. Um Estudante pode ter muitas Inscricoes: Estudante tem uma prop. de nav. Coleção [ Estudante ] 1 * [ Inscricao] Chave estrangeira na classe Inscrição. Numa relação N:N temos duas colecções, uma de cada lado, e as chaves estrangeiras vão para uma tabela de junção separada. Alteração da classe Escritorio acrescentada o atributo Foreignkey using System.Linq; using System.Web; namespace ContosoUniversity.Models public class Escritorio [Key] [ForeignKey("Instrutor")] public int InstrutorId get; set; [Display(Name = "Localização do Escritório")] public string Localizacao get; set; public virtual Instrutor Instrutor get; set; Testar. Dá erro. DbEntityValidationException was unhandled by user code Validation failed for one or more entities. See 'EntityValidationErrors' property for more details var cursos = new List<Curso> new Curso Titulo = "Física", Creditos = 3, new Curso Titulo = "Informática", Creditos = 6, new Curso Titulo = "Matemática", Creditos = 3, new Curso Titulo = "Bases de Dados", Creditos = 5, new Curso Titulo = "Programação", Creditos = 5, new Curso Titulo = "Álgebra", Creditos = 3, new Curso Titulo = "Geometria", Creditos = 3 ; O Curso Informática tem um valor para Créditos fora da gama permitida. Alterado para: var cursos = new List<Curso> new Curso Titulo = "Física", Creditos = 3,

11 . ; new Curso Titulo = "Informática", Creditos = 5, new Curso Titulo = "Matemática", Creditos = 3, new Curso Titulo = "Bases de Dados", Creditos = 5, new Curso Titulo = "Programação", Creditos = 5, new Curso Titulo = "Álgebra", Creditos = 3, new Curso Titulo = "Geometria", Creditos = 3 Alteração do código de Inicialização da Base de Dados public class InicializadorEscola : DropCreateDatabaseIfModelChanges<EscolaContexto> protected override void Seed(EscolaContexto contexto) base.seed(contexto); var estudantes = new List<Estudante> new Estudante PrimeirosNomes="António Miguel", UltimoNome="Cunha", DataInscricao=DateTime.Parse(" "), new Estudante PrimeirosNomes="Jose Antonio", UltimoNome="Mendes", DataInscricao=DateTime.Parse(" "), new Estudante PrimeirosNomes="Alexandra", UltimoNome="Silva", DataInscricao=DateTime.Parse(" "), new Estudante PrimeirosNomes="Rui", UltimoNome="Oliveira", DataInscricao=DateTime.Parse(" "), new Estudante PrimeirosNomes="Carlos Miguel", UltimoNome="Soares", DataInscricao=DateTime.Parse(" "), new Estudante PrimeirosNomes="José Miguel", UltimoNome="Cunha", DataInscricao=DateTime.Parse(" "), new Estudante PrimeirosNomes="Joaquim", UltimoNome="Matos", DataInscricao=DateTime.Parse(" "), new Estudante PrimeirosNomes="Guilherme", UltimoNome="Torres", DataInscricao=DateTime.Parse(" ") ; estudantes.foreach(e => contexto.estudantes.add(e)); var instrutores = new List<Instrutor> new Instrutor PrimeirosNomes="Joaquim", UltimoNome="Torres", DataContratacao=DateTime.Parse(" "), new Instrutor PrimeirosNomes="António", UltimoNome="Oliveira", DataContratacao=DateTime.Parse(" "), new Instrutor PrimeirosNomes="Miguel", UltimoNome="Mendes", DataContratacao=DateTime.Parse(" "), new Instrutor PrimeirosNomes="José", UltimoNome="Silva", DataContratacao=DateTime.Parse(" "), new Instrutor PrimeirosNomes="Rogério", UltimoNome="Santos", DataContratacao=DateTime.Parse(" "), ; instrutores.foreach(e => contexto.instrutores.add(e)); var departamentos = new List<Departamento> new Departamento Nome = "Inglês", Budget = , DataInicio = DateTime.Parse(" "), InstrutorId = 1, new Departamento Nome = "Matemática", Budget = , DataInicio = DateTime.Parse(" "), InstrutorId = 2, new Departamento Nome = "Engenharia", Budget = , DataInicio = DateTime.Parse(" "), InstrutorId = 3, new Departamento Nome = "Economia", Budget = ,

12 DataInicio = DateTime.Parse(" "), InstrutorId = 4, ; departamentos.foreach(e => contexto.departamentos.add(e)); var cursos = new List<Curso> new Curso CursoId = 1050, Titulo = "Quimica", Creditos = 3, DepartamentoId = 3, Instrutores = new List<Instrutor>(), new Curso CursoId = 4022, Titulo = "Microeconomia", Creditos = 3, DepartamentoId = 4, Instrutores = new List<Instrutor>(), new Curso CursoId = 4041, Titulo = "Macroeconomia", Creditos = 3, DepartamentoId = 4, Instrutores = new List<Instrutor>(), new Curso CursoId = 1045, Titulo = "Cálculo", Creditos = 4, DepartamentoId = 2, Instrutores = new List<Instrutor>(), new Curso CursoId = 3141, Titulo = "Trigonometria", Creditos = 4, DepartamentoId = 2, Instrutores = new List<Instrutor>(), new Curso CursoId = 2021, Titulo = "Composição", Creditos = 3, DepartamentoId = 1, Instrutores = new List<Instrutor>(), new Curso CursoId = 2042, Titulo = "Literatura", Creditos = 4, DepartamentoId = 1, Instrutores = new List<Instrutor>() ; cursos.foreach(c => contexto.cursos.add(c)); cursos[0].instrutores.add(instrutores[0]); cursos[0].instrutores.add(instrutores[1]); cursos[1].instrutores.add(instrutores[2]); cursos[2].instrutores.add(instrutores[2]); cursos[3].instrutores.add(instrutores[3]); cursos[4].instrutores.add(instrutores[3]); cursos[5].instrutores.add(instrutores[3]); cursos[6].instrutores.add(instrutores[3]); var inscricoes = new List<Inscricao> new Inscricao EstudanteId = 1, CursoId = 1050, Nota = 1, new Inscricao EstudanteId = 1, CursoId = 4022, Nota = 3, new Inscricao EstudanteId = 1, CursoId = 4041, Nota = 1, new Inscricao EstudanteId = 2, CursoId = 1045, Nota = 2, new Inscricao EstudanteId = 2, CursoId = 3141, Nota = 4, new Inscricao EstudanteId = 2, CursoId = 2021, Nota = 4, new Inscricao EstudanteId = 3, CursoId = 1050, new Inscricao EstudanteId = 4, CursoId = 1050, new Inscricao EstudanteId = 4, CursoId = 4022, Nota = 4, new Inscricao EstudanteId = 5, CursoId = 4041, Nota = 3, new Inscricao EstudanteId = 6, CursoId = 1045, new Inscricao EstudanteId = 7, CursoId = 3141, Nota = 2, ; inscricoes.foreach(i => contexto.inscricoes.add(i)); var escritorios = new List<Escritorio> new Escritorio InstrutorId = 1, Localizacao = "Smith 17", new Escritorio InstrutorId = 2, Localizacao = "Gowan 27", new Escritorio InstrutorId = 3, Localizacao = "Thompson 304", ; escritorios.foreach(i => contexto.escritorios.add(i));

Resumo Aplicação MVC Contoso University

Resumo Aplicação MVC Contoso University Resumo Aplicação MVC Contoso University Parte 1. New Project MVC4: ContosoUniversity Html.ActionLink(string linktext, string actionname, string controllername) Retorna MvcHtmlString, uma string com o código

Leia mais

Criação de uma aplicação Web ASP.NET MVC 4

Criação de uma aplicação Web ASP.NET MVC 4 Criação de uma aplicação Web ASP.NET MVC 4 usando Code First, com Roles (VS2012) Baseado no artigo de Scott Allen Roles in ASP.NET MVC4 : http://odetocode.com/blogs/scott/archive/2012/08/31/seeding membership

Leia mais

HERANÇA NO BANCO DE DADOS COM ENTITY FRAMEWORK RESUMO

HERANÇA NO BANCO DE DADOS COM ENTITY FRAMEWORK RESUMO HERANÇA NO BANCO DE DADOS COM ENTITY FRAMEWORK Emanuel Braz da Cruz Julliano Trindade Pintas Sergio Paiva Rodas Cláudio Sally RESUMO O mercado se encontra divido quanto às plataformas de desenvolvimento

Leia mais

1. Base de Dados criada automaticamente pelo Entity Framework. 2. Correspondência entre classes da aplicação Asp.Net e tabelas da base de dados

1. Base de Dados criada automaticamente pelo Entity Framework. 2. Correspondência entre classes da aplicação Asp.Net e tabelas da base de dados 1. Base de Dados criada automaticamente pelo Entity Framework O template usado por omissão no desenvolvimento de uma aplicação Asp.Net MVC 5 através do Visual Studio 2015 com autenticação Individual User

Leia mais

Herança entre Entidades JPA. Prof. Fellipe Aleixo

Herança entre Entidades JPA. Prof. Fellipe Aleixo Herança entre Entidades JPA Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br ORM e Herança Para estar completo o mecanismo de mapeamento objeto-relacional precisa suportar o conceito de herança da orientação

Leia mais

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo JPA Com Hibernate Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 JPA Mapeamento Direto entre as classes e o banco de dados Orientação a objetos para modelo relacional Feito através

Leia mais

Criação de uma aplicação Web ASP.NET MVC usando Code First

Criação de uma aplicação Web ASP.NET MVC usando Code First Criação de uma aplicação Web ASP.NET MVC usando Code First Visual Studio > File > New Project > (Visual C#, Web) ASP.NET MVC 4 Web Application Name: MvcApplication11 Project Template: View Engine: Internet

Leia mais

Aplicação MVC com Class Library

Aplicação MVC com Class Library Aplicação MVC com Class Library Vamos considerar uma Class Library com o modelo de dados e com acesso à base de dados através do Entity Framework. Uma Class Library nunca funciona sozinha. Vamos usá-la

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI WEB USER CONTROLS Neste exercício trabalharemos com a criação de controles ASP.NET personalizados. Através do uso de Web

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Login Google. Copie a SSL URL, que no meu caso é https://localhost:44300/

Login Google. Copie a SSL URL, que no meu caso é https://localhost:44300/ Login Google Acessar NuGet Instalar o pacote Microsoft.Owin.Security.Cookies Instalar o pacote Microsoft.Owin.Security.Google Instalar Microsoft.Owin.Host.SystemWeb Habilitando SSL Para comunicar com Google

Leia mais

Tarefa Orientada 17 Scripts

Tarefa Orientada 17 Scripts Tarefa Orientada 17 Scripts Objectivos: Declaração de variáveis escalares Declaração de variáveis do tipo tabela Tabelas temporárias Estruturas Condicionais Estruturas de Repetição Tratamento de erros

Leia mais

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. REST Representational State Transfer É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. Não é um padrão. Exemplo ASP.NET Web API namespace WebAPIApp.Models

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

Bem vindos ao Curso de ASP.NET MVC 3 Razor e C#

Bem vindos ao Curso de ASP.NET MVC 3 Razor e C# Bem vindos ao Curso de ASP.NET MVC 3 Razor e C# Pré-requisitos: O curso de C# Csharp veja aqui e o curso de ASP.NET Básico veja aqui Valor R$129.00 compre aqui Veja o video do curso aqui Aprenda ASP.NET

Leia mais

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

Desenvolvimento Web com Java. Sérgio Lopes Caelum - Desenvolvimento Web com Java Sérgio Lopes Caelum - http://www.caelum.com.br sergio.lopes@caelum.com.br Sérgio Lopes Desenvolvedor Java desde 2002 Instrutor de Java pela Caelum Trabalho com Web e Celulares

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

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

Leia mais

JAVA ENTERPRISE EDITION: CRIAR BEANS DE ENTIDADE A PARTIR DE TABELAS

JAVA ENTERPRISE EDITION: CRIAR BEANS DE ENTIDADE A PARTIR DE TABELAS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA ENTERPRISE EDITION: CRIAR BEANS DE ENTIDADE A PARTIR DE TABELAS FOZ DO IGUAÇU 2013 LISTA

Leia mais

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010 Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)

Leia mais

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima Resumo Este tutorial destina-se a apresentar alguns exemplos de mapeamentos de associações/relacionamentos entre

Leia mais

Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile)

Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile) Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile) 1. Instalar no Visual Studio 2017 o workload Azure Development

Leia mais

Persistência de Objetos

Persistência de Objetos Persistência de Objetos Objetos Persistentes ì Objetos Persistentes: são objetos que requerem armazenamento persistente. Exemplo: Instâncias da classe Descrição Produto devem ser armazenadas em uma base

Leia mais

Instituto de Informática Estrutura de Dados II

Instituto de Informática Estrutura de Dados II Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O

Leia mais

Aplicação ASP.NET MVC Cliente de Aplicação Web API

Aplicação ASP.NET MVC Cliente de Aplicação Web API Aplicação ASP.NET MVC Cliente de Aplicação Web API http://www.asp.net/web-api/overview/advanced/calling-a-web-api-from-a-net-client Calling a Web API From a.net Client in ASP.NET Web API 2 (C#) 1. Criar

Leia mais

Modificadores de Acesso e Atributos de Classe

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

Leia mais

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

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 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

Leia mais

VB.NET - Orientação a objetos : conceitos básicos em 10

VB.NET - Orientação a objetos : conceitos básicos em 10 lições. VB.NET - Orientação a objetos : conceitos básicos em 10 Lição 1 - Como criar classe e métodos. Instanciando um objeto e acessando o método da classe. - Para criar uma classe basta usar a palavra

Leia mais

Orientação a Objetos - Programação em C++

Orientação a Objetos - Programação em C++ OO- Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) Exemplificado em Microsoft Visual

Leia mais

Histórico de Revisões

Histórico de Revisões 1 Histórico de Revisões Data Versão Responsável Histórico 22/11/2016 1.0 Robson M. Matos Elaboração da documentação técnica 21/06/2018 1.1 Robson M. Matos Inclusão do método consulta, removido método pesquisa.

Leia mais

Mapeamento da herança em JPA

Mapeamento da herança em JPA Mapeamento da herança em JPA Impedance mismatch é o termo usado para descrever as dificuldades em mapear o estado de um objecto num registo de uma tabela de uma base de dados relacional. Na modelação orientada

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET43I Aula 5 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens

Leia mais

Definição de classes em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Definição de classes em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Definição de classes em Java (introdução) PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Resumo Introdução à implementação de classes Java declaração de campos de

Leia mais

Fundamentos de Programação 2

Fundamentos de Programação 2 Fundamentos de Programação 2 ET43G Aula 9 Prof. Daniel Cavalcanti Jeronymo e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens e métodos,

Leia mais

1 - Ambiente de desenvolvimento

1 - Ambiente de desenvolvimento Neste documento começa-se por apresentar o ambiente de desenvolvimento integrado do Visual Basic (menu bar, toolbars, toolbox, project explorer window, properties window, form designer e code editor window).

Leia mais

Strings e Arrays POO

Strings e Arrays POO Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

AULA TEÓRICA 10. Tema 7. Introdução ao Microsoft Access Ø. conceitos

AULA TEÓRICA 10. Tema 7. Introdução ao Microsoft Access Ø. conceitos AULA TEÓRICA 10 Tema 7. Introdução ao Microsoft Access Ø conceitos 1 Introdução ao Microsoft Access Microsoft Access é uma aplicação que permite criar bases de dados e ter acesso a informação com a simplicidade

Leia mais

Array em Java. Figura 1 - Exemplo de um array de inteiros

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:

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Quinta aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Quinta aula Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II Java Quinta aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Arrays Declarar e criar arrays Acessar

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Pacotes e Encapsulamento Msc. Paulo de Tarso F. Júnior 1 Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes e interfaces

Leia mais

Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox

Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox Objectivos: Utilização de uma fonte de dados. Criação de controlos Combobox ligados a uma fonte de dados. Utilização de parâmetros em consultas

Leia mais

JPA Com Hibernate Aula 2

JPA Com Hibernate Aula 2 JPA Com Hibernate Aula 2 Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 Dados Transientes Quando criamos determinada propriedade em uma classe, mas essa propriedade não deve ser

Leia mais

Porque usar um montador? Formato de uma linha de código fonte:

Porque usar um montador? Formato de uma linha de código fonte: Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob

Leia mais

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

Tarefa Orientada 3 Aplic. Manutenção de Produtos Text Box

Tarefa Orientada 3 Aplic. Manutenção de Produtos Text Box Tarefa Orientada 3 Aplic. Manutenção de Produtos Text Box Objectivos: Utilização de uma fonte de dados. Criação de controlos Text Box ligados a uma fonte de dados. Criação de classes. Se uma tabela contém

Leia mais

Comandos. Sistema Operacional GNU/Linux. Para Manipulação de Contas

Comandos. Sistema Operacional GNU/Linux. Para Manipulação de Contas Comandos Para Manipulação de Contas Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Agosto / 2017 1/23 Comando adduser Adiciona um usuário ou grupo no

Leia mais

JAVA NETBEANS Aula PGOO Prof. Daniela Pires Conteúdo

JAVA NETBEANS Aula PGOO Prof. Daniela Pires Conteúdo Conteúdo Array... 2 Primeira:... 2 Segunda:... 2 DECLARANDO VÁRIOS ARRAYS... 3 Descobrindo o tamanho de um array... 3 Inicializando um array... 3 Percorrendo Arrays... 4 Arrays multidimensionais... 5 Novo

Leia mais

Estruturas de dados complexas: cell arrays e structures

Estruturas de dados complexas: cell arrays e structures Estruturas de dados complexas: cell arrays e structures Cell arrays Criação de cell arrays Aceder a elementos Visualizar elementos Modificar elementos Eliminar elementos Guardar strings em cell arrays

Leia mais

Java para Desktop. Programação Orientada à Objetos 2 JSE

Java para Desktop. Programação Orientada à Objetos 2 JSE Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona

Leia mais

Lição 7 Array em Java

Lição 7 Array em Java Lição 7 Array em Java Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Declarar e criar arrays Acessar elementos de um array Determinar o número de elementos em um

Leia mais

LÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz

LÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz LÓGICA DE PROGRAMAÇÃO (JAVA) Classes Uma classe é um tipo definido pelo usuário que contém o molde, a especificação para os objetos, algo mais ou menos como o tipo inteiro contém o molde para as variáveis

Leia mais

Consulta de endereço através do Cep

Consulta de endereço através do Cep --------------------------------------------------------------------------------------------- Por: Giancarlo Fim giancarlo.fim@gmail.com Acesse: http://giancarlofim.wordpress.com/ ---------------------------------------------------------------------------------------------

Leia mais

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão e Objetos em Java Algoritmos e Programação I Aula 9 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Prof. Marcelo H. Yamaguti yamaguti@inf.pucrs.br Prof.

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

Leia mais

Vamos falar de Hibernate?

Vamos falar de Hibernate? Vamos falar de Hibernate? Hibernate é um framework ORM (Object-Relationship Management) muito bacana que nos permite ter muita produtividade na manipulação de objetos a serem persistidos no banco de dados.

Leia mais

Sistemas de Gestão De Bases de Dados. Criação de Tabelas na vista estrutura. Módulo 2. A Professora: Vanda Pereira

Sistemas de Gestão De Bases de Dados. Criação de Tabelas na vista estrutura. Módulo 2. A Professora: Vanda Pereira Sistemas de Gestão De Bases de Dados Criação de Tabelas na vista estrutura A Professora: Vanda Pereira Módulo 2 Para criar uma tabela basta clicar no separador Criar grupo Tabela Vai aparecer no lado esquerdo

Leia mais

Introdução a classes e objetos. Copyright 2006 by Pearson Education

Introdução a classes e objetos. Copyright 2006 by Pearson Education 3 Introdução a classes e objetos 3.1 Introdução Programas do Capítulo 2 Todas as instruções estavam localizadas na função main. Em geral Os programas consistirão Na função main e Em uma ou mais classes

Leia mais

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 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

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Aula 2 POO 1 Prática. Profa. Elaine Faria UFU

Aula 2 POO 1 Prática. Profa. Elaine Faria UFU Aula 2 POO 1 Prática Profa. Elaine Faria UFU - 2019 Arrays É um grupo de variáveis que contém valores que são todos do mesmo tipo Os arrays são objetos tipos por referência Os elementos de um array podem

Leia mais

Java Server Faces Navegação de

Java Server Faces Navegação de Java Server Faces Navegação de Páginas Prof. Rodrigo Henrique Cunha Palácios rodrigopalacios@utfpr.edu.br Slides fornecidos pelo professor Prof. Edson Shozo Nishi Navegação de Páginas Controle de fluxo

Leia mais

PRDS C#.Net Alexandre L. Silva

PRDS C#.Net Alexandre L. Silva PRDS 2011.1 C#.Net Alexandre L. Silva alexandre.silva@les.inf.puc-rio.br 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

Leia mais

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 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;

Leia mais

Estrutura de Dados Funções e Procedimentos

Estrutura de Dados Funções e Procedimentos Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira saluorodrigues@gmail.com www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada

Leia mais

Classes. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho

Classes. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Classes BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Introdução I Estamos acostumados a criar

Leia mais

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia mais

Aula07 Forms Authentication

Aula07 Forms Authentication Aula07 Forms Authentication Disciplina: Programação Web Prof. Allbert Velleniche de Aquino Almeida E-mail: allbert.almeida@fatec.sp.gov.br Site: http://www.allbert.com.br /allbert.almeida Objetivo O objetivo

Leia mais

Importar e Exportar Dados

Importar e Exportar Dados Importar e Exportar Dados Administração de Base de Dados OBJECTIVOS: Definir comandos e formatos Definir restrições (constraints) DEFINIÇÃO DO ESQUEMA DA BASE DE DADOS O esquema da BD e composto pelas

Leia mais

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios! (Apresentação SQL Manager Lite for InterBase and Firebird) Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios! Ferramenta de alta performance para a otimização da administração de

Leia mais

JPA 2.0 e Servlet 3.0

JPA 2.0 e Servlet 3.0 JPA 2.0 e Servlet 3.0 Elaine Silva Instrutora Globalcode Melissa Villela Instrutora Globalcode 1 Agenda > Objetivo > JPA 2.0 > Servlet 3.0 > Conclusões 2 Agenda > Objetivo > JPA 2.0 > Servlet 3.0 > Conclusões

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET. quarta-feira, 17 de outubro de 12

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET. quarta-feira, 17 de outubro de 12 DESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 WEB USER CONTROLS 2 Tipos de Web Controls: WEB USER CONTROLS HTML CONTROLS HTML SERVER CONTROLS WEB SERVER CONTROLS VALIDATION CONTROLS USER CONTROLS 3 Tipos

Leia mais

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos picos Definição de estrutura Acessando membros de estruturas O tipo horario com struct Implementando horario com class Escopo

Leia mais

PCS Laboratório de Engenharia de Software I Tutorial de Modelagem de Dados no RSA v9.5 (por Michelet dal Carpio Chávez)

PCS Laboratório de Engenharia de Software I Tutorial de Modelagem de Dados no RSA v9.5 (por Michelet dal Carpio Chávez) PCS 3443 - Laboratório de Engenharia de Software I Tutorial de Modelagem de Dados no RSA v9.5 (por Michelet dal Carpio Chávez) 1. Pré-requisitos 1. Rational Software Architect instalado com as seguintes

Leia mais

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano

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

Leia mais

Lição 11 Herança, polimorfismo e interfaces

Lição 11 Herança, polimorfismo e interfaces Lição 11 Herança, polimorfismo e interfaces 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Definir superclasses e subclasses Criar Override de métodos de superclasses Criar métodos e classes

Leia mais

Programação I Matrizes e Strings. Prof. Carlos Alberto

Programação I Matrizes e Strings. Prof. Carlos Alberto Programação I Matrizes e Strings Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Matrizes Matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum;

Leia mais

Criando um Projeto... File -> New -> Java Project. Colocar o nome do projeto em Project Name... Marcar JRE -> JavaSE-1.7 e Create separate folders for sources and class files -> Finish 1 No projeto criado,

Leia mais

Associação 1:1. Baseado no Diagrama de Classe a seguir, iremos criar as classes de Modelagem que compõem a Associação de Piloto com Carro.

Associação 1:1. Baseado no Diagrama de Classe a seguir, iremos criar as classes de Modelagem que compõem a Associação de Piloto com Carro. Associação 1:1 Abrir o Visual Studio Abrir o projeto WebHeranca Baseado no Diagrama de Classe a seguir, iremos criar as classes de Modelagem que compõem a Associação de Piloto com Carro. Para isso, será

Leia mais

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes Tipos de Dados Objectivos Observar os tipos fornecidos pelo C++ São dados alguns exemplos Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes O que são Como se distinguem

Leia mais

Aplicação Web Zend Framework 2 Cliente de Aplicação Asp.Net Web API

Aplicação Web Zend Framework 2 Cliente de Aplicação Asp.Net Web API Aplicação Web Zend Framework 2 Cliente de Aplicação Asp.Net Web API 1. Criar a Aplicação Asp.Net Web API 2 com Individual User Accounts Visual Studio 2015 > File > New > Project Visual C#, Web > ASP.NET

Leia mais

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos

Leia mais

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos) Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private

Leia mais

JAVA. Professor: Bruno Toledo

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

Leia mais

INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2

INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2 INTRODUÇÃO À COMPUTAÇÃO - RESUMO E EXERCÍCIOS* P2 *Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.com. Listas(= tipo

Leia mais

Linguagem Algorítmica OO. Linguagem Algorítmica

Linguagem Algorítmica OO. Linguagem Algorítmica UFSC-CTC-INE INE5384 - Estruturas de Dados Linguagem Algorítmica OO Prof. Ronaldo S. Mello 2002/2 Linguagem Algorítmica Independente de linguagem de programação OO Utilizada para: Exemplificar os algoritmos

Leia mais

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian 1 Sumário Tipos de Dados Variáveis Modelo esquemático Características e Regras para

Leia mais

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 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

Leia mais

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados> BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:

Leia mais