Gostaria de uma sugestão, eu tenho uma classe de itens de venda, nesta classe tem métodos dos produtos assim como impostos e umas particularidades, também tenho movimento de estoque, com alguns métodos dos produtos e tenho outras classe que também tem métodos dos produtos, como poderia fazer para pegar só a parte de produtos sempre que precisar?
Exemplo:
class ItensVenda extend Produtos {
}
class MvtoEstoque extend Produtos {
}
Mano, não sou especialista, mas acredito que você está fazendo as coisas de modo errada. O que você deveria fazer não é exetender a classe produto, mas sim criar variaveis na classe itemVenda do tipo produto.
Bom isso é um mau designer de classe, porque Itens de Venda não deve herdar de Produtos, mas, sim Itens de Venda conter Produtos e isso também em movimentação do Estoque.
Na minha visão como desenvolvedor e experiências isso que você está tentando fazer é totalmente errado.
Bem, o certo seria se voce inicializasse o tipo da instancia de produto com o “new”:
produto prd = new itensvenda (), agora pra selecionar partes específicas aí o ideal seria um design pattern ( padrão de projeto) chamado Builder, de construir do ingles, eu acho. O Builder é isso, separar a construção de um objeto de sua instância. Não sou um especialista nisso, mas o ideal é pra se instanciar formas diferentes do mesmo objeto é com o Builder.
Ex: produto tem nome, preço e codigo, eu poderia criar campos pra ler os atributos acima, e no final: produto p = criarProduto.nome().builder
produto p = criarProduto.nome().codigo ().builder;
e por aí vai, com o buider eu controlo quais atributos diferentes usar ao construir um objeto, os que o objeto tiver e nao usar, fica nulo