DEFINITELY understand the DIFFERENCE between ABSTRACT classes and INTERFACES-OOP
HTML-код
- Опубликовано: 23 авг 2024
- After all what is the difference between abstract classes and interfaces? When to use? Is it really enough to think that the difference is having or not coding?
In this SUPER cool content, we bring in an EXTREMELY didactic way the differences between these important concepts of Object Oriented Programming (OOP).
Below is the link that we recommend as a complement to this video:
• Entenda DEFINITIVAMENT...
Become a VIP at ArcH, follow me on my new Telegram channel:
t.me/pisanidaarch
---
Cross technological content, can be applied to java, rust, .net, c#, php, nodejs, javascript, go lang etc
ArcH is a digital content producer that monthly helps thousands of professionals to become FERA in SYSTEM ARCHITECTURE, here are some of the topics we cover: architectural approaches, design standards, architecture and technology standards with efficiency, agility and quality, all to contribute to the professional development of the community of Solution Architects\Software and Systems in Brazil.
Learn more about ArcH:
▶ archoffice.tech
---
CONTACT:
▶ Whats: (11) 9.9696-8533
▶ Email: pisani@archoffice.tech
#interface vs abstract
abstract classes or interfaces
#Interfaces or abstract classes
abstractions pisani arch
#arch abstractions
#poo
#object orientation
#abstraction
#pisani da arch
#object orientation
#abstract class
software architecture
#polymorphism
Parabéns e muito obrigado pelo vídeo, você mostrou esses dois conceitos de um jeito que ainda não tinha visto, pelo menos não com a explicação que você deu. Obrigado
Fala ARQ, tudo 100%? Fico feliz que tenha gostado do vídeo e muito obrigado pela participação! 👊🏻
Ótimo vídeo! Explica muito bem, parabéns! E obrigada!
Muito obrigado pela participação e pelo feedback Eduarda 👊🏻👊🏻
queria ter um terço da usa motivação e um quarto do seu conhecimento (pois a paixão eu já tenho) pra melhorar meu dia a dia no trabalho. Mais um vídeo excelente professor
Que energia surreal... Parabéns!!!
Fala Rayssa! Tudo 100%? Muito obrigado pelo feedback 👊
*MINHAS ANOTAÇÕES, ESPERO QUE AJUDEM VOCÊS*
Qual a diferença de classes abstract e interfaces?
Interfaces são contratos, que define como serão as funções das seguintes classes que a implementam. As classes que implementam uma mesma Interface, não precisam ter algo em comum na regra de negócio.
Classes abstratas define como suas filhas irão se comportar e quando são herdadas, as filhas pos-suem características hereditárias em comum. Assim como, na regra de negócio elas também são parecidas, como gerente e secretário, que são dois funcionários.
Em suma essas são maneiras diferentes de tratar dependências do negócio. Classes que implementam de Interface não precisam estarem correlacionadas entre si. Já na abstração elas devem ter algo em comum dentro da regra de negócio.
Dentro de uma classe as funções são chamadas de métodos.
Uma classe abstrata define métodos genéricos e as classes que a extende devem sobrescrever os métodos genéricos. Por exemplo a Classe abstrata SEDAN contém métodos e atributos genéricos e um outro exemplo, no entanto, com uma classe não-abstrata(uma classe que pode ser instânciada) chamada Hb20s e esta é uma especialização. Sendo uma especialização ela deve sobrescrever os métodos e atributos ou incluir mais se referindo à classe abstrata pois um Hb20S além de ser um SEDAN tem suas características particulares.
Uma interface é um contrato no qual onde ficam definidas as assinaturas ( nome do método, o tipo de dado que ele espera receber, o tipo de dado que ele retorna), os atributos (os nomes deles e o tipos)
Tudo dentro de uma interface é público, ou seja, o Modificador de Acesso de tudo, implicitamente, é Public. A classe que a implementa, seja abstrata ou não-abstrata, deve implementar cada assinatura desta interface.
❤😂😂😂😂😂
Estou desenvolvendo um projeto da faculdade e esse vídeo me ajudou bastante! Mais uma inscrita
Fala ARQ! Tudo 100%? Muito obrigado pelo feedback 👊
muito obrigado excelente explicação e forma de comunicação
Fala Daniel, sou eu quem agradeço pelo feedback 👊
Parabéns pelo vídeo professor!
Obrigado pelo conteúdo, Arch. Tem mais um inscrito !
Você logo vê que o conteúdo é bom quando tem mais de 690 joinhas e nenhum negativo. Muito boa a explicação. Primeira vez aqui no seu canal. Parabéns pelo vídeo. Já levou meu joinha, subscribe e ativei o sininho tbm. Abrassss. ;)
Eita explicação lúcida! Bom demais!
Muito obrigado pela força e participação de sempre meu amigo, de coração 👊
parabéns... conteúdo muito relevante....
Opa valeu de verdade, muito obrigado pelo feedback
Muito bom o vídeo!! Antes achava que Interface só poderia implementar métodos e não atributos. Valeu!
Fala Luiz, depende muito da linguagem de programação, em geral suporta sim, muito obrigado pela participação 👊
Nas novas versões do C#, podemos criar funções dentro das interfaces pra evitar ter uma interface e depois ter que mudar ou criar uma abstração só por causa de 1 função
Boa, contribuição top, valeu mesmo 👊🏻
POO é essencial em programação
Top, concordo 100%. Muito obrigado pela participação.
Muito bom conteudo! Obrigado e parabens!
Muito bom, consegui entender perfeitamente o conteúdo
Muito bom professor!! Obrigado viu
Opa não por isso, muito obrigado pelo feedback 👊🏻👊🏻👊🏻
Muito bom!!!
Caraca, que aula 👏👏👏 já tive este problema também
Fala Isadora, muito obrigado pela força e pela participação de sempre.
Legal a sua aula amigo, vou acompanhar o canal, otima didatica! Parabens! Se puder trazer mais exemplos, tipo dois exemplos, mas um com tema diferente do outro acho q facilita a compreensao com perspectivas diferentes!
No Java, a partir da versão 1.8 pode incluir métodos concretos dentro das intefaces
Perfeito este vídeo. Obrigado e se eu estiver errado, por favor me corrija.
bom de mais
*Ótima explicação!* _Eu estava usando o padrão Bridge de forma errada rsrsrs'_
Fala Eduardo, faz parte...eu também usei vários padrões da forma errada, o importante é sempre evoluirmos. Muito obrigado pela participação.
Só uma observação que eu gostaria de fazer em relação da Interface em linguagem Java é lá não é permitido colocar atributos mas sim métodos. E também, quando você faz uma implementação, todos esses métodos citados anteriormente, devem ser "exportados" para a classe que está implementando. Se eu estiver errado me corrija.
Boa, no vídeo eu tento dar ênfase no conceito, procuro ser agnóstico a tecnologia, mas, comentários como o seu enriquecem demais o conteúdo, muito obrigado pela participação 👊🏻
Ta erado. Você criar atributos desde que não sejam protected ou private.
C# tbm é dessa forma, só permite declaração de métodos
@@andreymonteirohl lgc que nn, da pra implementad propriedades em uma interface ss, porem nao se pode implementar como public ou private somente o nome e o tipo da propriedade
@@guilhermemarques6713 sim realmente
Seria legal um exemplo prático.
Muito bom o vídeo, parabéns!
Conteúdo top !
Muito obrigado pelo feedback :)
Explicação muito boa
Excelente aula
queria ter achado este canal antes! conteúdo bom
Muito obrigado pelo feedback e por acompanhar o nosso conteúdo 👊🏻
Boa aula, muito boa didática. Mas interface ainda esta nebuloso o seu entendimento. Caberia exemplos reais, para o melhor entendimento.
Massa, anotado por aqui vamos fazer mais um com exemplos detalhados 👍
❤
ótimo vídeo!
Valeu demais, Mateus! Obrigada por assistir.
Que aula!
Like número 1000 , aula de qualidade
como enxerga a questão do "default" inserido no Java 8? Que permite inserir uma implementação dentro de uma interface.
Aula boa d+
No caso de algumas linguagens, exemplo Java é possível herdar uma classe abstrata e implementar uma interface, pf me corrija se eu estiver errado
EU ENTENDI!!!!!
Fala Mickael, tudo 100%? Top demais! Fico feliz em saber que este conteúdo te ajudou de alguma forma. TMJ 👊
Parabéns pelo conteúdo! Uma dúvida: em classes (DTO) onde eu preciso garantir que todas as classes filhas possuam as mesmas propriedades da super classe, é melhor implementar uma interface do que usar uma herança de uma classe abstrata?
Nesse caso seria uma abstract. Porque ele é herdada, não implementada. Ou seja, tu vai criar uma classe base onde possui determinadas propriedades onde outras classes vão fazer uso. A interface seria caso de delegar funções, exemplo: IconnectDb que pode ser implementada na ConnectionDbMySql, ConnectionDbSqlServer, etc...
po legal cara vlw
No exemplo de herança, então a Classe Abstrata Pessoa herda o código da Classe A (Cliente) para que o código da classe A vá para a abstração (Classe Abstrata). Após esse processo o código já estará na Classe Abstrata e então a classe Fornecedor o herda da Classe Abstrata Pessoa, em vez de herdar da classe concreta Cliente diretamente. Entendi certo? Se houvessem mais classes elas também herdariam da Classe Abstrata assim como a Classe B (fornecedor)?
Opa tudo 100%, você fala quando temos mais de um nível de abstração? Caso positivo o melhor é você tentar usar como tipagem o nivel de abstração mais básico possível para tramitação de objetos entre classes ou métodos, mas no momento do processamento é necessário fazer o cast correto. Mais de um nível de abstração pode melhorar o reuso, minimizando erros ou necessidade de ajustes na ponta, mas toma cuidado para não exagerar e colocar complexidade desnecessária no seu código.
Olá vim do futuro para falar que as interfaces em C# permitem colocar código... estranho? sim...
Muito obrigado pela participação 👊🏻👊🏻👊🏻
Olá meu Arch... você tem algum cursos?
Senti a falta de exemplos práticos
Vamos trabalhar em um conteúdo com ele, valeu pelo feedback 👊
Quais são as implementações possíveis em classes abstratas? Métodos abstratos não tem implementação na classe abstrata, certo?
Fala Prof Dênis, sim métodos e clara abstratas suportam codificações, para um posterior override ou até reuso de funções internas.
Classes abstratas não suportam instanciação precisam ser especializadas, bele?
Si o dinheiro nao importasse para nada na vida ninguem estaria aqui, e na verdade nem o youtube existiria.
Eu tenho uma perguntq. Sou iniciante. Queria fazer um teste CONTIGO. Já dá uma video aula. Se você responder de volta. Conto a história
Olá tudo 100%? Eu não entendi exatamente o seu ponto, mas respondido 👊🏻,
Uma Interface não possui apenas métodos em Java?
Oi
Vale pra Java ?
Algumas plataformas como JAVA podem ter particularidades que aceitem implementações em interfaces.
Mas o conceito é universal para orientação a objetos
Ficou show!
Polimorfismo é possível somente em caso de classes abstratas, correto?
Olá Verônica, você pode até usar interfaces para definir as diferentes assinaturas, mas implementar o conceito só com abstrações e herança mesmo (de classes concretas também)
mas nao falam que interface so implementa metodos? vc no video diz que pode ter atributos e propriedades na interface. nao entendi. pq no c# isso nao é possivel, apenas assinaturas de metodos. pelo menos em outro curso que vi era assim. so se alguma versao mais nova do c# mudou isso.
Você está certo, falha nossa, obrigado pela contribuição 👊🏻
Cara, tomei um susto com o início do vídeo.. já começa na energia total kkk
Professor, tu é pica!
Que nada, sou só um aprendiz que curte muito dividir o que aprende, muito obrigado pelo feedback.
O negocio e quando vc usa dart e não tem interfaces , so classes abstratas :/
Hehehe, mas neste caso é como o TS, só um superset, no fundo, no fundo é um JS que em essência não suporta O.O. (só com muita insistência), mas não foi feito para isso 😅. Muito obrigado pela participação 👊
Seu conteúdo é bom mas esse som em sua abertura é horrível...
Fala meu brother, estamos melhorando sempre graças a feeds. Muito obrigado pela contribuição 👊
😡
Oi Thaís, tudo 100% desculpe nem sempre consigo responder rápido, fica o convite de entrar na comunidade do ArcHOne por lá conseguimos ser mais rápidos 👊🏻👊🏻👊🏻
one.archoffice.tech
Usar interfaces e perder tempo
Muito bom!