Java Metodologias de Sistemas Objetos Classes

Java Metodologias de Sistemas Objetos Classes. Linguagem Java.

Sumário: Metodologia de Sistemas,Objetos,Classes

– O fundamento é não so ensinar Orientação a Objetos mais também a Arquitetura de JAVA(aqui eu não vou impor nada, vou dizer da onde vem) Importante intender que esses tutoriais se baseiam totalmente na Plataforma JAVA.
– Não considero um bom tutorial para se aprender, mais por curiosidade. Muitas coisas você pode até não saber como funciona, mais usa, mesmo porque muita gente usa a Lâmpada mais nem imagina como funciona a eletricidade certo?

Advertência: É necessária a leitura do(s) Post(s): Princípios Básicos: Voce Tem que saber e Teoria Geral dos Sistemas, Paradigmas conceituados!

<p>
  <span style="font-weight: bold;font-size:130%;">Oque é uma Metodologia?</span></span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br />É um ciclo de vida no desenvolvimento do seu Programa. Programadores não setam e começam a desenvolver um programa ao invez disso, eles seguem um planejamento, um CICLO DE vida que é seguido.(Temos varios tipos de Metodologias, aqui darei exemplo de um TIPO).</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

  <p>
    <span style="font-weight: bold;font-size:130%;">Oque é escopo?</span><br />Domínio do problema * oque é que voce vai fazer* Qual o motivo daquilo
  </p>

  <p>
    </span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;font-size:180%;">Qual será a Metodologia escolhida?</span></p> 

    <p>
      </span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">Eu realmente não tenho muito conhecimento sobre metodologias a fundo. De um modo geral resumi muitas as quais eu ja usei em uma muito simples(Desculpa se ja existe uma com essa ideia abreviada, ISSO não fui eu que inventei, é um RESUMO):</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

      <p>
        </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CdmD2AaXIBs/SphOf4_fInI/AAAAAAAAAE0/AOq9fkgelrg/s1600-h/Metodologias.png"><img style="cursor: pointer; width: 320px; height: 32px;" src="http://localhost/www/wp0/uploads/Metodologias.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375132465048265330" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"><br /><span style="font-weight: bold;">Clique na figura para ampliar</p> 

        <p>
          </span><span>Especificações = Classes<br /></span><br /><span style="font-size:100%;"><span style="font-weight: bold;">Análise -></span></span> É a definição concreta do escopo(domínio- Oque é!!!-) do seu problema. Um programa é feito em cima de uma NECESSIDADE(Essa necessidade é determinada no ESCOPO do problema). É um processo da análise de todas as necessidades referentes ao problema.</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

          <p>
            <span style="font-size:100%;"><span style="font-weight: bold;">Projeto(Design) &#8211;</span></span> Pega-se todas as necessidades encontradas na etapa de Análise e cria-se ESPECIFICAÇÕES que tem como objeto resolver o domínio do problema.
          </p>

          <p>
            </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Codificação(Desenvolvimento) &#8211;</span> Todas as especificações criadas no estágio de Projeto agora se tornarão OBJETOS.</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

            <p>
              <span style="font-weight: bold;">Testes &#8211;</span> Assegura que, a Junção de objetos criados na CODIFICAÇÃO resolve o domínio do problema(as necessidades) que o processo de análise encontrou.</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

              <p>
                <span style="font-weight: bold;">Implementação &#8211;</span> Com o programa ja pronto, Existe a disponibilização para os Clientes.</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                <p>
                  Trabalharemos aqui da seção Projeto em diante, o processo de Análise é importante(Alias o mais) porem não faz parte do Intuito desse Tutorial:</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                  <p>
                    <span style="font-weight: bold;">Executar e Testar fazem parte da Fase de Testes</span><br /><span style="font-weight: bold;"> </span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;"></p> 

                    <p>
                      Oque é um programa em java?</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                      <p>
                        </span><span style="color: rgb(0, 0, 0);font-family:arial;">Um Conjunto de Objetos.(Que juntos são capazes de RESOLVER ou dominio do problema(FASE DE ANÁLISE da Metodologia))</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                        <p>
                          <span style="font-weight: bold;">Oque é um Objeto?</span></span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />É uma abstração de algo.Qualquer elemento capaz de ter COMPORTAMENTO e CARACTERÍSTICA.(Lembra-se de DADOS E FUNÇÃO do post Teoria Geral dos Sistemas, Paradigmas conceituados!? É a relaçao!!!) &#8211; Todo objeto tem duas coisas,ATRIBUTOS(CARACTERÍSTICAS) MÉTODOS (COMPORTAMENTO) &#8211; So precisa disso agora em mente, um OBJETO TEM 2 coisas.</span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                          <p>
                            <span style="font-weight: bold;">Desenhando e aprendendo:</span></span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                            <p>
                              </span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SphOklWCgkI/AAAAAAAAAE8/DxZo7fRlxyQ/s1600-h/Objeto.png"><img style="cursor: pointer; width: 297px; height: 174px;" src="http://localhost/www/wp0/uploads/Objeto-1.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375132545673495106" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"><br /><span style="font-weight: bold;">Isso é um objeto, clique na imagem para ampliar</span></p> 

                              <p>
                                <span style="font-weight: bold;">Oque são Atributos?</span></span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />São características do Objeto,O valor atribuido a um atributo é referenciado como o estado do objeto.<br />Vamos a um Exemplo:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />&#8211; Um objeto TV, tem o Atributo &#8211; COR &#8211; sua tv tem uma cor certo?</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                <p>
                                  </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">Oque são Métodos?</span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">São Comportamento. Vamos a um Exemplo:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />&#8211; um objeto TV, tem o coportamento &#8211; Ligar &#8211; você pode ligar sua tv certo?</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                  <p>
                                    <span style="font-weight: bold;">Desenhando e aprendendo:</span></span> <a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SphOpAnTOUI/AAAAAAAAAFE/onI4JBnPGeI/s1600-h/ObjetoTv.png"><img style="cursor: pointer; width: 191px; height: 174px;" src="http://localhost/www/wp0/uploads/ObjetoTv.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375132621713127746" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Isso é um objetoTv Sem estado no atributo cor que sabe Ligar, clique na imagem para ampliar</span></span> <span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                    <p>
                                      <span style="font-weight: bold;">Onde eu armazeno Atributos no Objeto?</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;"> Em Variaveis de Instancia &#8211; Por enquanto so saiba isso, Atributos estão nas variaveis de Instancia.(É pessimo o começo, cada hora eles dão um nome para um coisa, dão a volta ao mundo para não complicar, e COMPLICA MAIS AINDA). Variaveis Atributos guardam o ESTADO DO OBJETO.</p> 

                                      <p>
                                        </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">Como eu crio objetos?</span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;"> Na fase 2 Projeto(Design) &#8211; Temos o conceito de ESPECIFICAÇÃO, cria-se um MOLDE para que seus objetos sigam.Na biologia temos o conceito de classe exemplo: mamíferos, caninos etc(Ou seja todo OBJETO que tenha CARACTERISTA(Atributos em COMUM)). Então cria-se uma classe para dela se CRIAR um objeto.</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                        <p>
                                          <span style="font-weight: bold;">Oque é uma classe?</span></span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />É uma especificação. Com uma Classe você pode criar Objetos, a Classe é uma especificação para Objetos isso significa, que é como a JVM irá construir os seus Objetos.</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"> A jvm pega essa Especificação(Classe) cria os seus objetos e preenche os atributos dos objetos(que vai representar o estado do objeto).</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                          <p>
                                            <span style="font-weight: bold;">Onde moram os Objetos?</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">Isso é um nivel um pouco alto para quem esta aprendendo agora, porem eu acho muito melhor você aprender desenhando doque lendo,lendo,lendo,lendo e so lendo. Basicamente Objeto vivem na HEAP.Temos 2 áreas básicas que você tem que aprender, LOCAL VARIABLE E HEAP.(Local Variable e heap fazem parte da Arquitetura da JVM)</span><span style="color: rgb(0, 0, 0);font-family:arial;">.</p> 

                                            <p>
                                              <span style="font-weight: bold;"> </span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">Desenhando e aprendendo:</span> <a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CdmD2AaXIBs/SphObBZIseI/AAAAAAAAAEs/LYNmfL-7tug/s1600-h/heapStack.png"><img style="cursor: pointer; width: 248px; height: 240px;" src="http://localhost/www/wp0/uploads/heapStack.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375132381403984354" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"><br /><span style="font-weight: bold;">Toda vez que for fazer algum Objeto, desenhe isso!!!</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                              <p>
                                                <span style="font-weight: bold;font-size:180%;"> </span></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:180%;">Processos em java:</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />Sabemos que um programa em execução vira processo. Todo processo tem ao menos uma thread(Não precisa estudar thread em java para saber isso!!!).</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                <p>
                                                  <span style="font-weight: bold;">Desenhando e aprendendo:</span></span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SphOtp-VF7I/AAAAAAAAAFM/C-nvqyu9WMY/s1600-h/processo.png"><img style="cursor: pointer; width: 310px; height: 247px;" src="http://localhost/www/wp0/uploads/processo-1.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375132701535049650" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                  <p>
                                                    <span style="font-weight: bold;">Kernel é o gerenciador de Recursos e tarefas do S.O. so precisa saber isso. Ele que &ldquo;controla&rdquo;.Clique na imagem para ampliar</span>
                                                  </p>

                                                  <p>
                                                    </span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;"> </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;font-size:130%;">Oque temos basicamente em uma thread?</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;font-size:130%;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />Resumindo e somente para utilidade, toda thread tem uma STACK. Então todo processo tem ao menos uma thread, toda thread tem uma STACK.</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                    <p>
                                                      <span style="font-weight: bold;">Desenhando e aprendendo:</span></span> <a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SphOxK-jdCI/AAAAAAAAAFU/UyL1XrYH8uk/s1600-h/processoThread.png"><img style="cursor: pointer; width: 280px; height: 320px;" src="http://localhost/www/wp0/uploads/processoThread-1.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375132761933968418" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"><br /><span style="font-weight: bold;">Clique na imagem para ampliar</span></p> 

                                                      <p>
                                                        <span style="font-weight: bold;">Oque eu tenho dentro da Stack?</span></span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />Toda Stack tem métodos. O método que será executado é aquele que esta no fim da STACK. O primeiro método que aprenderemos é o main. Se você não tiver o main, consequentemente não tem um método no fim da Stack, consequentemente não tem um programa que poderá ser PROCESSO.</span><span style="font-weight: bold; color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">Nesse exemplo sim, AGORA TEMOS UM PROGRAMA QUE PODE SER PROCESSO.</span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><a style="color: rgb(0, 0, 0);" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SphO1MwzWTI/AAAAAAAAAFc/l9sL-bLVFxI/s1600-h/ProgramaProcesso.png"><img style="cursor: pointer; width: 280px; height: 320px;" src="http://localhost/www/wp0/uploads/ProgramaProcesso-2.png" alt="Exemplos Java,Linguagem Java, Programação, Java" id="BLOGGER_PHOTO_ID_5375132831132637490" border="0" /></a><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-weight: bold;">Clique na imagem para ampliar</span></span> <span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">Qual a relação Heap Local Variable e Stack?</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                        <p>
                                                          </span><span style="color: rgb(0, 0, 0);font-family:arial;">Farei uma coisa ruim, porem farei. Todo Objeto mora em Heap, logo todo processo mesmo que não use, TEM HEAP. Todo processo tem ao menos uma thread, toda thread tem uma STACK. Toda Stack trabalha empilhando Métodos(Toda vez que um método é invocado(Chamado, O método ta na hora de trabalhar!!!), o método entra na STACK.E o método main é invocado automaticamente). Todo método tem uma área que se chama LOCAL VARIABLE.(Só precisa saber disso.)</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                          <p>
                                                            O intuito é, mostrar oque é um objeto, oque é uma classe, oque é um PROCESSO e oque um PROCESSO EM JAVA PRECISA. No começo é meio confuso, mais Conforme o tempo te garanto que o entedimento doque esta fazendo, supera o de muita gente com experiência.</span><span style="color: rgb(0, 0, 0);font-family:arial;"></p> 

                                                            <p>
                                                              <span style="font-weight: bold; color: rgb(0, 0, 0);font-size:180%;">Erros de compilação:</span><br /> Todos os erros de compilação são erros de Sintaxe e Semântica ou seja erros na estrutura da Classe.<br />Exemplo: faltando ; , faltando { } .
                                                            </p>

                                                            <p>
                                                              </span><span style="color: rgb(0, 0, 0);font-family:arial;"><span style="font-size:130%;"><span style="font-weight: bold;">É hora da revisão:</span></span><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Todo processo tem ao menos uma thread(Não precisa saber de threads de java para saber isso)</span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Toda thread tem uma Stack</span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0);font-family:arial;"><br />&#8211; Toda Stack tem que ter um método que esta no fim dela, que é oque sera executado(Normalmente usamos o main)</span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Local Variable,heap,Stack fazem parte da Arquitetura da JVM</span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Classes são especificações para criação de objetos</span><span style="color: rgb(0, 0, 0);font-family:arial;"><br /></span><span style="color: rgb(0, 0, 0);font-family:arial;">&#8211; Variaveis Atributo dizem qual é o estado atual do objeto</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);font-family:arial;">Próxima seção será mão na massa com tudo que vimos.<br />&#8211; Erros de Compilação são de Semântica e Sintaxe</p> 

                                                              <p>
                                                                </span><span style="color: rgb(0, 0, 0);font-family:arial;"> </span><span style="color: rgb(0, 0, 0); font-weight: bold;font-family:arial;">CYA DUDES!</span>
                                                              </p>

                                                              <div style="text-align: center; color: rgb(0, 0, 0); font-family: arial;">
                                                              </div>

                                                              <p>
                                                                <a style="color: rgb(0, 0, 0); font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CdmD2AaXIBs/SphOxK-jdCI/AAAAAAAAAFU/UyL1XrYH8uk/s1600-h/processoThread.png"><br /></a><span style="color: rgb(0, 0, 0);font-family:arial;"> </span> <span style="color: rgb(0, 0, 0);font-family:arial;"></span>
                                                              </p>