Luiz Gehlen 0 Denunciar post Postado Fevereiro 10, 2010 Bem pessoal, pode parece bastante tosco pra vocês que já tem experiencia, mas eu nos meus 15 anos ainda apanho muito pra essa POO, aprendi C e por lá fiquei bastante tempo, eu acho que foi util, aprendi muitos conceitos de programação, mas hoje quero aprender C# e teria que estudar o orientado a objetos e queria que vocês avaliassem esse algoritmo e me discessem meus acertos/erros, o algoritmo foi de um programa de cadastros de alunos simples que acabei de imaginar, o objetivo seria eu aprender a lidar com classes, mas acho que vai fica parecido com as estruturas do C :S, me corrigam! obri. Segue meu algoritmo que foi escrito direto aqui. ^^ Classe Alunos{ id aluno; nome aluno; idade aluno; serie aluno; } Classe banco de dados{ // primeiro algortmo, malz se isso nao devesse existi :S nome bd; host bd; login e senha bd; } main (){ // isso parece C, alquem me corrige se tive muito esquisito escreva "entre com o nome do aluno:"; leia e armazene em nome aluno; escreva "entre com a idade do aluno:"; leia e armazene em idade aluno; escreve "entre com a serie escolar do aluno"; leia e armazene em seria aluno; arrayAluno (id aluno, nome aluno, idade aluno, serie aluno) arrayBD (host bd, nome bd, login se senha bd); conecta no arrayBD; se não abri { escreva "Oops, houve um erro, o banco de dados não pode ser aberto, isso pode ter varias causas como: 1-Outro programa esta conectado ao mesmo BD 2-O servidor esta indisponivel 3-Você não esta conectado ao servidor, para maiores informações ligue para o programador"; volte ao incio; } senão { insira o array aluno no nome bd; } escreva "desejar cadastrar outro aluno?"; se for escrito "sim"; { volte ao inicio; } senão; Saia; } Bem, se estiver muito errado, teria como me indicarem o metodo de faze-lo certo? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Fevereiro 15, 2010 amigo está um pouco confuso.. você declarou alguns tipos de variaveis q n estou vendo como elas são montadas.. q linguagem seria isso? []s Compartilhar este post Link para o post Compartilhar em outros sites
Luiz Gehlen 0 Denunciar post Postado Fevereiro 16, 2010 Olha, seria um esboço bem ridiculo mesmo... e sim, estou muito confuso quanto ao uso da orientação a objetos... Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Fevereiro 16, 2010 Olá Luiz. Você tem algum motivo específico para escolher C#? Eu te aconselho a mudar de ideia, vá de Java ou C++. São linguagens infinitamente mais poderosas e multiplataforma. (Existem alguns frameworks que permitem rodar C# em outras plataformas, mas é trabalho desnecessário) Compartilhar este post Link para o post Compartilhar em outros sites
Will Fernando 2 Denunciar post Postado Fevereiro 17, 2010 opa amigo =] hehe tambem ainda to tentando aprende esse treco de orientação objetos .. *php .. vo tenta explica como eu acho, favor se tiver errado me corrijam... sobre o objeto: seguinte tipo.. pensa num objeto... sim :) qualquer ... hmm um CUBO ! um objeto não ? :P um cubo tem medidas sim .. esse é 10 cm por 10 cm.. entao minha base é de 10 e minha altura é de 10 .. isto.. base e altura vao ser propriedades deste objeto ... meu objeto CUBO... beleza .. um cubo ta e agora ? ... (ZzzZZz) ... vamos brincar com ele ? como ? ah ele gira =].. girar é uma ação que ele pode fazer.. então girar vai ser um metodo do meu objeto CUBO... bah que sem graça neh .. girar um cubo .. entao vamos implementar numeros aos lados do cubo =] HUHUH agora posso sortiar numeros de 1 a 4 com meu cubo :D opa.. 4 lados... esta é mais uma propriedade do meu cubo ^^ agora que implementei numeros posso sortiar .. isto é uma ação entao a mais que ele pode fazer .. entao é mais um metodo do meu objeto cubo. o cubo <?php //Classe class CUBO { //Propriedades public $Base= '10cm'; public $Altura = '10cm'; public $Numero_Lados = 4; //Metodos public function Gira() { echo 'o cubo giro de lado ! '; } } ?> Numeros <?php //Classe class Numeros { //Propriedades //Metodos public function Sorteia() { echo 'o numero sortiado é'.rand(0, $this->Numero_Lados); } } ?> Objeto cubo <?php //Classe class CUBO { //Propriedades public $Base= '10cm'; public $Altura = '10cm'; public $Numero_Lados = 4; //Metodos public function Gira() { echo 'o cubo giro de lado ! '; } } //criando objeto $meu_cubo = New Cubo; //acessando as propriedades do meu objeto echo 'a base do meu cubo é = '.$meu_cubo->Base; echo 'a altura do meu cubo é = '.$meu_cubo->Altura; echo 'meu cubo tem = '.$meu_cubo->Numero_Lados.' lados'; //executando metodos $meu_cubo->Gira(); ?> Objeto cubo com numeros <?php //Classe class Numeros { //Propriedades //Metodos public function Sorteia() { echo 'o numero sortiado é'.rand(0, $this->Numero_Lados); } } //Classe class CUBO extends Numeros { //Propriedades public $Base= '10cm'; public $Altura = '10cm'; public $Numero_Lados = 4; //Metodos public function Gira() { echo 'o cubo giro de lado ! '; } } //criando objeto $meu_cubo = New Cubo; //acessando as propriedades do meu objeto echo 'a base do meu cubo é = '.$meu_cubo->Base; echo 'a altura do meu cubo é = '.$meu_cubo->Altura; echo 'meu cubo tem = '.$meu_cubo->Numero_Lados.' lados'; //executando metodos $meu_cubo->Gira(); $meu_cubo->Sorteia(); ?> Sobre a orientação: beleza .. imaginamos uma situação.. hehe tudo começa com um problema sempre :P .. uma pessoal que sorteia um numero com um cubo... digamos.. de maneira procedural.. pessoa sente vontade pessoa pega madeira pessoa pega facão pessoa corta madeira em forma de cubo pessoa pega lapis pessoa desenha numeros de 1 a 4 pessoa sorteia com objetos.. "como criar um cubo" pessoa pega madeira pessoa pega facão pessoa corta madeira em forma de cubo "como colocar numeros" pessoa pega lapis pessoa desenha numeros de 1 a numero de lados pessoa sente vontade pessoa cria cubo e coloca numeros pessoa sorteia nussa.. deu mais trabalho com objetos neh :P mass.. sei la... deu vontade da pessoa fazer 3 cubos.. vamos fazer dnovo de maneira procedural.. pessoa sente vontade pessoa pega madeira pessoa pega facão pessoa corta madeira em forma de cubo pessoa pega lapis pessoa desenha numeros de 1 a 4 pessoa pega madeira pessoa pega facão pessoa corta madeira em forma de cubo pessoa pega lapis pessoa desenha numeros de 1 a 4 pessoa pega madeira pessoa pega facão pessoa corta madeira em forma de cubo pessoa pega lapis pessoa desenha numeros de 1 a 4 pessoa sorteia com objetos.. "como criar um cubo" pessoa pega madeira pessoa pega facão pessoa corta madeira em forma de cubo "como colocar numeros" pessoa pega lapis pessoa desenha numeros de 1 a numero de lados pessoa sente vontade pessoa cria cubo e coloca numeros pessoa cria cubo e coloca numeros pessoa cria cubo e coloca numeros pessoa sorteia epa.. negocio mudo dai neh :P .. tipo .. é mais organizado, da menos trabalho e é mais facil de fazer =] você dexa as instrucoes preparadas ae quando precisa usar so cria o objeto .. se precisa adicionar mais a isto.. implementa =] claro isso é so um hiper basicao .. mas acho que ja ajuda .. entendendo um pouco do sentido .. depois você pode pesquisar e estudar mais assim como eu to tentando faze hehe.. tipo tem muitoooo mais =\.. polimorfismo , abstrações, interfaces, padroes GoF, DAO, MVC, ixii... mas um dia nos chegamo la :P prevendo criticas.. volto a repetir ... isso é so para entender tipo "objeto" .. relaxa galerinha ^^ Obs: quanto a idade relaxa amigo :P eu tenho 17 valww espero ter ajudado Compartilhar este post Link para o post Compartilhar em outros sites
exavoid 0 Denunciar post Postado Fevereiro 18, 2010 É esse o espírito. Eu cá ainda estou me orientando pelos algoritmos, mais básico que há :), mas vou com calma, devagarinho é que se vai longe :). Deu para perceber a sua ideia, ficou claro sim ;) Cumprimentos Compartilhar este post Link para o post Compartilhar em outros sites
vagner.net 0 Denunciar post Postado Fevereiro 19, 2010 Olá Luiz. Você tem algum motivo específico para escolher C#? Eu te aconselho a mudar de ideia, vá de Java ou C++. São linguagens infinitamente mais poderosas e multiplataforma. (Existem alguns frameworks que permitem rodar C# em outras plataformas, mas é trabalho desnecessário) Abrindo um parêntese na discussão, de forma alguma Java ou C++ podem ser classificadas como "infinitamente" mais poderosas que qq outra linguagem. Principalmente a supracitada C#, que utilizo para aplicações de processamento de imagens e IA, com ótimo desempenho e inúmeros recursos de programação que podem ser executados em diversas plataformas através da Framework Mono. C++, ainda pode ser considerada a linguagem mais rápida e flexível por ser independente de framework e gerar arquivos binários em linguagem de máquina, por isso é a linguagem mais utilizada no desenvolvimento de jogos complexos. Porém, Java é dependente da JVM e portanto apresenta resultados inferiores ao C# em diversos benchmarks científicos. No geral Java e C# são equivalentes, cada uma com seus prós e contras. Felizmente ambas compartilham uma sintaxe similar e portanto o aprendizado simultâneo e bem simples, facilitando a utilização da linguagem mais adequada a cada aplicação. Em relação a OO, o ideal é aprender algum modelo conceitual, como UML. Dessa forma a implementação se torna independente da linguagem. Compartilhar este post Link para o post Compartilhar em outros sites