Nao sei se é porque ja estou cansada, mas achei essa aula um pouco confusa. (Só estou comentando para que se outras pessoas acharam o mesmo, nao se desmotivarem) Tá longe de ser um defeito, o curso é top de todo jeito! Obrigada Fessor pelo conteudo, vc nos salva a cada curso.
Codiguim na mao using System; namespace Aula35CadeiaHeranca { class Veiculo { public int velMax; private int rodas; private bool ligado; public Veiculo(int rodas) { this.rodas = rodas; } public void ligar() { ligado = true; } public void desligar() { ligado = false; } public string getLigado() { return (ligado?"sim":"nao");// operador ternario /* if(ligado) { return "sim"; } else { return "nao"; }*/ } public int getRodas() { return rodas; } public void setRodas(int rodas) { this.rodas = rodas; } } class Carro:Veiculo { public string nome; public string cor;
public Carro(String nome,string cor):base(4) { desligar(); velMax = 120; this.nome = nome; this.cor = cor; } } class CarroCombate:Carro { public int municao; public CarroCombate():base("tank de guerra","verde") { municao = 100; setRodas(6); velMax = 100; } } class Program { static void Main(string[] args) { Carro c1 = new Carro("s10","prata"); c1.ligar(); Console.WriteLine("Cor do veiculo...................{0}",c1.cor); Console.WriteLine("Nome do veiculo..................{0}",c1.nome); Console.WriteLine("Quantidade de rodas do veiculo...{0}",c1.getRodas()); Console.WriteLine("Velocidade maxima do veiculo.....{0}",c1.velMax); Console.WriteLine("O veiculo está ligado??..........{0}",c1.getLigado()); Console.WriteLine("-------------------------------------------"); CarroCombate c2 = new CarroCombate(); Console.WriteLine("Cor do veiculo...................{0}",c2.cor); Console.WriteLine("Nome do veiculo..................{0}",c2.nome); Console.WriteLine("Quantidade de rodas do veiculo...{0}",c2.getRodas()); Console.WriteLine("Velocidade maxima do veiculo.....{0}",c2.velMax); Console.WriteLine("O veiculo está ligado??..........{0}",c2.getLigado());
Fessor Bruno, somos de exatas... mas tem um erro de gramática ai... Kkkkk Monição = aviso judiciário de um bispo. Munição = conjunto de balas, projéteis, cartuchos, etc.
fala Grande mestre boa tarde, professor já fiz as aulas de javascript, php e agora aprendendo c# , qual a linguagem indicada p aplicativos mobile??? qual a linguagem o sr indica p eu estudar? ou eu consigo fazer aplicativos com a mesma eficiencia em javascript ou c c#?
rsrsrs no minuto 4.02 quando o professor digitou o 4 em :base(4) eu pensei ha ha já sei!!!! tenho que passar os três parâmetros e por ele ali no locar do 4 /////////// public Carro(string nome, string cor, int rodas):base(rodas){ // método construtor desligar(); velMax=120; this.nome = nome; this.cor=cor; //this.rodas = rodas; não precisa poque vai direto na classe base na criação do carro Carro c1=new Carro("deDeus","Vermelho",4);
Eu fiz um pouco diferente, acabei criando métodos infos nas classes, bom para estimular o uso do virtual e override using System; class Veiculo{ public int velMax; private bool ligado; private int rodas; public void Ligar(){ ligado = true; } public void Desligar(){ ligado = false; } public string getLigado(){ return(ligado?"Ligado":"Desligado"); } public Veiculo(int r){ rodas = r; if (rodas < 0){ rodas = 0; } else if (rodas > 20){ rodas = 20; Console.WriteLine("Não suportamos mais que 20 rodas."); } } public int GetRodas(){ return rodas; } } class Carro:Veiculo{ string nome; string cor; public Carro(string n, string c):base(4){ Desligar(); velMax = 120; nome = n; cor = c; } public virtual void Info(){ /*Necessário usar o virtual nesse info, já que cada classe derivada de carro pode precisar de um info diferente*/ Console.WriteLine("Cor {0}", cor); Console.WriteLine("Velocidade máxima {0}", velMax); Console.WriteLine("Nome {0}", nome); Console.WriteLine("Tem {0} rodas", GetRodas()); Console.WriteLine("{0} ", getLigado()); } public string getCor(){ return cor; } public string getNome(){ return nome; } } class CarroCombate:Carro{ private bool blindagem; public int quantorr; public int rodas; public CarroCombate(bool b, int t):base("Demonhao", "Preto"){ Veiculo veiculo = new Veiculo(4); rodas = veiculo.GetRodas(); velMax = 220; blindagem = b; quantorr = t; } public string getBlindagem(){ return(blindagem?"Blindado":"Não é blindado"); } public override void Info(){ Console.WriteLine("Cor {0}", getCor()); Console.WriteLine("Velocidade máxima {0}", velMax); Console.WriteLine("Nome {0}", getNome()); Console.WriteLine("Tem {0} rodas", GetRodas()); Console.WriteLine("{0}", getLigado()); Console.WriteLine("{0}", getBlindagem()); Console.WriteLine("{0} Torretas ", quantorr); } } class Princ{ static void Main(){ Carro c1 = new Carro("Desgraça", "Cinza"); c1.Desligar(); c1.Info(); CarroCombate caray = new CarroCombate(true, 4); caray.Ligar(); caray.Info(); } }
base e uma palavra chave do C#, citando a documentação "A palavra-chave base é usada para acessar membros de classe base de dentro de uma classe derivada" link caso esteja interessado: docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/base
Espero que nas aulas seguintes possa melhorar o constructor das SubClasses. Porque do jeito que foi mostrado ai, ta muito estranho. Na "instaciação" de um objeto passando argumentos para o construtor por exemplo: Carro carroDeMao = new Carro(argumento1, argumento2, argumento3)... Esses argumentos deveriam ser transparentes, a classe Carro deveria se encarregar de levar esses argumentos até o constructor da classe Pai.
Que curso sensacional! Apredendo tudo do zero com esse professor. Só gratidão pelo trabalho dele. Você é o cara, Bruno!
Nao sei se é porque ja estou cansada, mas achei essa aula um pouco confusa. (Só estou comentando para que se outras pessoas acharam o mesmo, nao se desmotivarem) Tá longe de ser um defeito, o curso é top de todo jeito!
Obrigada Fessor pelo conteudo, vc nos salva a cada curso.
Que aula top! Muito obrigado!!
Muito obrigado pelas aulas, mestre!
Ensinar vai muito além de saber, e vc nos mostra isso. Ensina de forma simples. Um grande profissional.
Codiguim na mao
using System;
namespace Aula35CadeiaHeranca
{
class Veiculo
{
public int velMax;
private int rodas;
private bool ligado;
public Veiculo(int rodas)
{
this.rodas = rodas;
}
public void ligar()
{
ligado = true;
}
public void desligar()
{
ligado = false;
}
public string getLigado()
{
return (ligado?"sim":"nao");// operador ternario
/* if(ligado)
{
return "sim";
}
else
{
return "nao";
}*/
}
public int getRodas()
{
return rodas;
}
public void setRodas(int rodas)
{
this.rodas = rodas;
}
}
class Carro:Veiculo
{
public string nome;
public string cor;
public Carro(String nome,string cor):base(4)
{
desligar();
velMax = 120;
this.nome = nome;
this.cor = cor;
}
}
class CarroCombate:Carro
{
public int municao;
public CarroCombate():base("tank de guerra","verde")
{
municao = 100;
setRodas(6);
velMax = 100;
}
}
class Program
{
static void Main(string[] args)
{
Carro c1 = new Carro("s10","prata");
c1.ligar();
Console.WriteLine("Cor do veiculo...................{0}",c1.cor);
Console.WriteLine("Nome do veiculo..................{0}",c1.nome);
Console.WriteLine("Quantidade de rodas do veiculo...{0}",c1.getRodas());
Console.WriteLine("Velocidade maxima do veiculo.....{0}",c1.velMax);
Console.WriteLine("O veiculo está ligado??..........{0}",c1.getLigado());
Console.WriteLine("-------------------------------------------");
CarroCombate c2 = new CarroCombate();
Console.WriteLine("Cor do veiculo...................{0}",c2.cor);
Console.WriteLine("Nome do veiculo..................{0}",c2.nome);
Console.WriteLine("Quantidade de rodas do veiculo...{0}",c2.getRodas());
Console.WriteLine("Velocidade maxima do veiculo.....{0}",c2.velMax);
Console.WriteLine("O veiculo está ligado??..........{0}",c2.getLigado());
}
}
}
Nem todo herói usa capa
ótimo!
Kkkkk, monição, Professor, me ajuda ai Kkkk
Está perdoado pois o foco do curso em si é excelente !!!
kkkkkkkk, acontece
@@cfbcursos segundo curso que tu confunde a msm palavra
Muito obrigado pelas aulas, professor!
Grande aula professor !
já na classe carrodeCombate eu fucei nas aulas anteriores e fui testando
e cheguei nisso....
// classe Derivada de: Carro
Esperando as aulas de unity
Fessor Bruno, somos de exatas... mas tem um erro de gramática ai... Kkkkk
Monição = aviso judiciário de um bispo.
Munição = conjunto de balas, projéteis, cartuchos, etc.
Exatamente, ķkkkk
Monicao é uma mônica grande e masculina XD.
Brincadeira!
Somo
@@pauloaeuaeu8182 a galera vai querer te cancelar
@@luizluiz5337 kkk
e tem alguma previsão de qdo vai dar aulas de android studio??? ou aguma plataforma para aplicativos mobile???
essa aula em especifico a explicação ficou meio confusa
fala Grande mestre boa tarde, professor já fiz as aulas de javascript, php e agora aprendendo c# , qual a linguagem indicada p aplicativos mobile??? qual a linguagem o sr indica p eu estudar? ou eu consigo fazer aplicativos com a mesma eficiencia em javascript ou c c#?
rsrsrs no minuto 4.02 quando o professor digitou o 4 em :base(4) eu pensei ha ha já sei!!!! tenho que passar os três parâmetros e por ele ali no locar do 4
///////////
public Carro(string nome, string cor, int rodas):base(rodas){ // método construtor
desligar();
velMax=120;
this.nome = nome;
this.cor=cor;
//this.rodas = rodas; não precisa poque vai direto na classe base
na criação do carro
Carro c1=new Carro("deDeus","Vermelho",4);
Eu fiz um pouco diferente, acabei criando métodos infos nas classes, bom para estimular o uso do virtual e override
using System;
class Veiculo{
public int velMax;
private bool ligado;
private int rodas;
public void Ligar(){
ligado = true;
}
public void Desligar(){
ligado = false;
}
public string getLigado(){
return(ligado?"Ligado":"Desligado");
}
public Veiculo(int r){
rodas = r;
if (rodas < 0){
rodas = 0;
} else if (rodas > 20){
rodas = 20;
Console.WriteLine("Não suportamos mais que 20 rodas.");
}
}
public int GetRodas(){
return rodas;
}
}
class Carro:Veiculo{
string nome;
string cor;
public Carro(string n, string c):base(4){
Desligar();
velMax = 120;
nome = n;
cor = c;
}
public virtual void Info(){ /*Necessário usar o virtual nesse info, já que cada classe derivada de carro pode precisar de um info diferente*/
Console.WriteLine("Cor {0}", cor);
Console.WriteLine("Velocidade máxima {0}", velMax);
Console.WriteLine("Nome {0}", nome);
Console.WriteLine("Tem {0} rodas", GetRodas());
Console.WriteLine("{0}
", getLigado());
}
public string getCor(){
return cor;
}
public string getNome(){
return nome;
}
}
class CarroCombate:Carro{
private bool blindagem;
public int quantorr;
public int rodas;
public CarroCombate(bool b, int t):base("Demonhao", "Preto"){
Veiculo veiculo = new Veiculo(4);
rodas = veiculo.GetRodas();
velMax = 220;
blindagem = b;
quantorr = t;
}
public string getBlindagem(){
return(blindagem?"Blindado":"Não é blindado");
}
public override void Info(){
Console.WriteLine("Cor {0}", getCor());
Console.WriteLine("Velocidade máxima {0}", velMax);
Console.WriteLine("Nome {0}", getNome());
Console.WriteLine("Tem {0} rodas", GetRodas());
Console.WriteLine("{0}", getLigado());
Console.WriteLine("{0}", getBlindagem());
Console.WriteLine("{0} Torretas
", quantorr);
}
}
class Princ{
static void Main(){
Carro c1 = new Carro("Desgraça", "Cinza");
c1.Desligar();
c1.Info();
CarroCombate caray = new CarroCombate(true, 4);
caray.Ligar();
caray.Info();
}
}
Alguem ai tem o código da aula??
visto
Eu não entendi o seguinte, a palavra "base" é um código ? ou foi meio que um termo criado para que pudesse ser chamado em CarrosCombate?
base e uma palavra chave do C#, citando a documentação "A palavra-chave base é usada para acessar membros de classe base de dentro de uma classe derivada" link caso esteja interessado: docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/base
Sorte que tu escolheu Exatas kkkkkkkkkkkkkkkkkk
Kkkkkkkk, pq?
moni
ção
Espero que nas aulas seguintes possa melhorar o constructor das SubClasses. Porque do jeito que foi mostrado ai, ta muito estranho.
Na "instaciação" de um objeto passando argumentos para o construtor por exemplo:
Carro carroDeMao = new Carro(argumento1, argumento2, argumento3)...
Esses argumentos deveriam ser transparentes, a classe Carro deveria se encarregar de levar esses argumentos até o constructor da classe Pai.