Ir para conteúdo

Recommended Posts

Estou com muita dificuldade a parte de encapsulamento, parece que não entra na minha cabeça, parece que é um assunto muito genérico. 

Também quais livros eu devo ler, e qual é a forma de aprender POO de forma menos descomplicada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Citar

Também quais livros eu devo ler, e qual é a forma de aprender POO de forma menos descomplicada?

Livros em versão física ou que possuam versão online? Não sei como estás estudando POO, mas o conselho que te dou é aprender na teoria, sem focar em uma linguagem de programação específica. Muitas faculdades nas disciplinas introdutórias a POO os professores só começam a ensinar no código depois de 1-2 mêses de teoria pura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Fábio.info7
      Olá pessoal, estou precisando de uma grande ajuda, tenho duas tabelas no postgres, são elas: PESSOA e a outra é  ENDERECOS, elas estão relacionadas, oq acontece é que no php eu preciso recuperar o valor do id através da função nextval('nome_da_sequnce'), e não estou sabendo fazer, preciso recuperar o ultimo id e depois realizar o insert nas tabelas relacionadas, poderiam me dar um exemplo de como implementar isso? abaixo deixo o meu codigo php, acredito que esteja errado pois não esta gravando no banco.
       
      Minhas tabelas do banco: CREATE TABLE public.pessoa ( codigo_aluno integer NOT NULL DEFAULT nextval('pessoa_codigo_aluno_seq'::regclass), cpf character varying(11) COLLATE pg_catalog."default" NOT NULL, nome character varying(30) COLLATE pg_catalog."default" NOT NULL, sexo character varying(30) COLLATE pg_catalog."default" NOT NULL, nascimentodata date NOT NULL, email character varying(50) COLLATE pg_catalog."default" NOT NULL, endereco integer, CONSTRAINT pessoa_pkey PRIMARY KEY (codigo_aluno), CONSTRAINT pessoa_endereco_fkey FOREIGN KEY (endereco) REFERENCES public.enderecos (codigo_endereco) ) CREATE TABLE public.enderecos ( codigo_endereco integer NOT NULL DEFAULT nextval('enderecos_codigo_endereco_seq'::regclass), logradouro character varying(200) COLLATE pg_catalog."default" NOT NULL, bairro character varying(80) COLLATE pg_catalog."default" NOT NULL, cidade character varying(100) COLLATE pg_catalog."default" NOT NULL, uf character varying(2) COLLATE pg_catalog."default" NOT NULL, cep character varying(20) COLLATE pg_catalog."default" NOT NULL, CONSTRAINT enderecos_pkey PRIMARY KEY (codigo_endereco) ) ****** ABAIXO O PHP *************************************** <?php try { require_once "conexao.php"; $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); $sql = "select nextval('pessoa_codigo_aluno_seq')"; $seq = $conn->prepare($sql); $id = $seq->execute(); $id = $seq->fetchAll(PDO::FETCH_ASSOC); $sql = "insert into pessoa (cpf, nome, sexo, nascimentodata, email, endereco ) values (:cpf, :nome, :sexo, :nascimentodata, :email, :fk_endereco )"; $inserir = $conn->prepare($sql); $inserir->bindParam(":cpf", $dados["cpf"]); $inserir->bindParam(":nome", $dados["nome"]); $inserir->bindParam(":sexo", $dados["sexo"]); $inserir->bindParam(":nascimentodata", $dados["nascimentodata"]); $inserir->bindParam(":email", $dados["email"]); $inserir->bindParam(":fk_endereco", $id['codigo_endereco']); $inserir->execute(); // Gravando dados de endereço $sql_end = "insert into enderecos (codigo_endereco, logradouro, bairro, cidade, uf, cep, pessoa )values(:codigo_endereco, :logradouro,:bairro,:cidade,:uf,:cep, :pessoa)"; $end = $conn->prepare($sql_end); $end->bindParam(":codigo_endereco", $id['codigo_endereco']); $end->bindParam(":logradouro", $dados["logradouro"]); $end->bindParam(":bairro", $dados["bairro"]); $end->bindParam(":cidade", $dados["cidade"]); $end->bindParam(":uf", $dados["uf"]); $end->bindParam(":cep", $dados["cep"]); $end->execute(); echo "Dados gravados com sucesso!"; } catch (Exception $e) { echo "Mensagem: " . $e->getMessage() . "<br/>"; echo "Linha do Erro: " . $e->getLine() . "<br/>"; } PRECISO CONSEGUIR INSERIR OS DADOS NAS DUAS TABELAS INSERINDO OS IDS RECUPERADOS PELO NEXTVAL()
    • Por Caio Mekacheski
      Beleza galera, nesse meu primeiro post, quero compartilhar esse video onde inicio um tutorial básico pra aprender a programar em c++, só que de maneira prática. Um programa simples que eu escrevi pra fazer o cálculo da metragem cúbica de peças de madeira que eu beneficio aqui na minha pequena marcenaria. Um programa simples que me ajuda a executar uma tarefa tediosa, e que apresenta um conhecimento básico na programação em c++. Então resolvi fazer dele um tutorial prático para iniciantes. Nesse primeiro video eu apresento um esboço inicial pra entender o que o programa vai fazer. Conforme for desenvolvendo o programa, vou apresentando novos conceitos gradativamente. Espero que gostem. 
       
      https://www.youtube.com/watch?v=Obr8Jrp7LGQ
    • Por Fábio.info7
      Possuo um formulário com os seguintes dados, nome, idade, cpf, sexo, logradouro, bairro, cidade, eu possuo 1 banco com as seguintes tabelas, TABELA PESSOA E TABELA ENDERECO, ao enviar o formulário eu preciso gravar os dados pessoais na tabela pessoa e os dados de endereço na tabela endereco, o banco é postgres, como fazer isso? Poderiam me dar um exemplo?
      Só uma observação: Estou usando PDO e com relação as tabelas, elas estão relacionadas entre si pela chave primária. 
       
      Acredito que a solução seja simples, mas sou iniciante em php, preciso dessa força para continuar meus estudos.
       
      nome, idade ,cpf, sexo Sege as tabelas do meu banco postgres: create table pessoa( codigo serial not null, nome varchar(30) not null, idade int not null, cpf varchar(11) not null, sexo varchar(20) not null ); CREATE TABLE public.enderecos ( codigo integer NOT NULL DEFAULT nextval('enderecos_codigo_seq'::regclass), logradouro character varying(80) COLLATE pg_catalog."default" NOT NULL, bairro character varying(80) COLLATE pg_catalog."default" NOT NULL, cidade character varying(80) COLLATE pg_catalog."default" NOT NULL, uf character varying(2) COLLATE pg_catalog."default", cep character varying(9) COLLATE pg_catalog."default", pessoa integer, CONSTRAINT codigo_end PRIMARY KEY (codigo), CONSTRAINT enderecos_pessoa_fkey FOREIGN KEY (pessoa) REFERENCES public.pessoa (codigo) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION ) WITH ( OIDS = FALSE ) TABLESPACE pg_default; ALTER TABLE public.enderecos OWNER to postgres; AQUI MEU FORMULÁRIO: <form action="grava.php" method="post"> Nome: <input type="text" name="nome"><br> CPF:<input type="text" name="cpf"><br> Sexo: <input type="text" name="sexo"><br> Idade: <input type="text" name="idade"><br> Logradouro: <input type="text" name="logradouro"><br> Bairro: <input type="text" name="bairro"><br> Cidade: <input type="text" name="cidade"><br> Cep: <input type="text" name="cep"><br> <input type="submit" value="Cadastrar"> </form> ERQUIVO enviar.php: <?php try { require_once "conexao.php"; $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); // Gravando dados pessoais $sql = "insert into pessoa (cpf, nome, sexo, nascimentodata, email ) values (:cpf, :nome, :sexo, :nascimentodata, :email )"; $inserir = $conn->prepare($sql); $inserir->bindParam(":cpf", $dados["cpf"]); $inserir->bindParam(":nome", $dados["nome"]); $inserir->bindParam(":sexo", $dados["sexo"]); $inserir->bindParam(":nascimentodata", $dados["nascimentodata"]); $inserir->bindParam(":email", $dados["email"]); $inserir->execute(); // Gravando dados de endereço $sql_end = "insert into enderecos (logradouro, bairro, cidade, uf, cep )values(:logradouro,:bairro,:cidade,:uf,:cep)"; $end = $conn->prepare($sql_end); $end->bindParam(":logradouro", $dados["logradouro"]); $end->bindParam(":bairro", $dados["bairro"]); $end->bindParam(":cidade", $dados["cidade"]); $end->bindParam(":uf", $dados["uf"]); $end->bindParam(":cep", $dados["cep"]); $end->execute(); echo "Dados gravados com sucesso!"; } catch (Exception $e) { echo "Mensagem: " . $e->getMessage() . "<br/>"; echo "Linha do Erro: " . $e->getLine() . "<br/>"; }  
    • Por pewty
      hey, eu queria um código que quando o utilizador passa-se com o rato por cima da imagem fizesse um zoom in tal como aqui -> https://codepen.io/nxworld/pen/ZYNOBZ?editors=1100
      não sei porquê não consigo adicionar esse código para fazer com que funcione. ajuda seria bem vinda, obrigado :)
      código sobre as imagens atual:
      <div class="w3-row-padding w3-center w3-light-grey"> <div class="w3-third"> <p><b>5D</b></p> <figure><img src="5dseries/5dmkiv.png" alt="Random Name" style="width:50%;height:50%"></figure> <p><b><span>2,999.00 </span></b></p> </div> <div class="w3-third"> <p><b>1D</b></p> <figure><img src="1dseries/1dxmk3.png" alt="Random Name" style="width:50%;height:50%"></figure> <p><b><span>$5,499.00</b></p></span> </div> <div class="w3-third"> <p><b>6D</b></p> <figure><img src="6d/6d1.png" alt="Random Name" style="width:50%;height:50%"></figure> <p><b><span>$1,499.00</span></b></p> </div> </div>  
    • Por LukasTrin
      Estou montando um website e gostaria de saber como faço para o usuário que acabou de deslogar ficar na mesma pagina ?
       
      por exemplo, na programação atual, ele clica em " Sair " e vai automaticamente para a index, independente de onde esteja.
      eu gostaria q ele permanecesse na mesma pagina em que estava
       
      programação q faz o mesmo deslogar...
       
      //essa é a navbar.php <li><a href="?sair=sim">Sair</a></li> // Esse é o logado.php if(isset($_GET['sair']) == "sim"){     $objUser->sairUsuario(); } //e esse é o usuarios.class.php public function sairUsuario(){ session_destroy(); header ('location: index.php '); }  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.