Olá JAVAhli, seja bem vindo.
também trabalhava com o Delphi antes de iniciar no Java e quando comecei também tinha esse tipo de dúvidas:
No Delphi colocamos no formulario o acesso aos dados (TClientDataSet, TQuery, TTable), os componentes para visualização das informações e tambem as regras para manipulação destes dados, tudo misturado.
Mais as boas praticas de programação OO dizem se que devemos dividir as responsabilidades entre vários objetos assim cada uma faz uma parte da tarefa e nenhum deles fica sobrecarregado, isto ajuda também na manutenção do sistema, porque objetos mais simples são mais fáceis de modificalar (Isto é verdade em termos) . Então no java teríamos uma estrutura da seguinte forma:
A responsabilidade de gravação das informações em um banco de dados seria tarefa de uma classe do tipo DAO (Data Access Object), sendo assim a classe Pessoa (do exemplo do Carnevalli), não precisa se preocupar onde estas informações irão ser armazenadas (Banco de Dados, arquivo XML, se esta em um servidor local, remoto, etc). Ex:
PessoaDao pessoaDao = new PessoaDao(Pessoa);
pessoaDao.Salvar();
Neste exemplo estou criando uma classe DAO para o armazenamento das informações da classe pessoa, passando como parâmetro a própria classe pessoa, então peço ao DAO para salvar estas informações.
A tarefa de exibição dos dados poderia ser delegada para uma outra classe que utilizaria paginas JSP (no caso de uma aplicação web), para exibir as informações;
Um dos principais padrões de projetos utilizados no java é o Model View Controler, e se você não ouviu falar com certeza ouvirá, porque é muito utilizado no desenvolvimento hoje em dia.
As regras e padronizações de boas práticas de programação podem ser aplicadas a qualquer linguagem OOP (inclusive no Delphi), só que o paradigma orientado ao objeto muitas vezes é uma mudança muito radical na forma como modelamos nossas aplicações, sendo assim muitos profissionais acostumados a escreverem codigo espaguete relutam de todas as formas a mudarem seus hábitos. Ha casos como citado pelo Carnevalli em que a OOP não atende, mais não creio que seja o caso das aplicações feitas em Delphi que em sua grande maioria são aplicações comerciais e que se beneficiariam muito com a OOP, o que vi até hoje são muitos profissionais acomodados e com preguiça de aprenderem uma nova forma de programação.
Espero ter ajudado,
Um grande abraço.