O que é uma api

Olá pessoal estou com uma duvida que parece muito besta, mas vamos lá. Gostaria de saber o que é uma api e como posso utilizar alguma.

Eu utilizo o net beans, tem como eu importar alguma api para ele e com quais apis ele trabalha.

                   abraço

API = Application Programming Interface

É a interface, normalmente documentada q uma biblioteca ou framework disponibiliza para o programador possa utiliza-la. Por exemplo, a API de Java da Sun, é a biblioteca de classes q a Sun disponibiliza para o programador java, mas ele n tem como adivinhar os métodos e classes nem para quê servem, para isso existe a API toda documentada, só mostrando as interfaces, nada de implementação. É por ai.

1 curtida

Como assim interface de programação nela tb pode haver classes concretas não é?Por favor me expilque.

Quanto a netBeans e so clicar com o botão direito no projeto ir em propiedades e adicionar a bibliotecas ou jar que vc deseja como um jar de conexão da com o banco.Eu acho que o netbeans trabalha com frameworks
para desenvolivimento agil como as ferramentas para confecção de interface

Ele usou o termo para dizer não como uma Interface do java, e sim como um meio de comunicação entre componentes de software(sentido original de interface).Claro que numa api tem classes concretas, abstratas e tal.

Definição:
http://pt.wiktionary.org/wiki/Interface

Interface é um conceito inerente à OO, e existe independente do conceito de interface de java, apesar de obviamente as duas serem bem proximas. Toda classe tem uma interface, mesmo q ela n implemente interface alguma. A interface de uma classe são as assinaturas dos seus métodos públicos, é basicamente isso. Em um outro post eu expliquei bem detalhado essa questão. Segue o link, lá vc vai entender bem o conceito de interface de OO e a diferença de interface de java.

http://www.guj.com.br/posts/list/49746.java#261113

Se ainda assim ficar com dúvida, post ai e nois vemos.

Abraço

Cara a grosso modo api são os jar que vc adiciona no seu projeto.

exemplo api do Mysql vc adiciona ela no seu projeto apartir dai vc tem acesso as classe que estão nesse pacote.

No netbeans para vc adicionar um api, lib ou jar como queira, é assim

1ª clique com o direito no seu projeto
2ª va propriedades
Ira abrir um janela
3ª va em libraries

A direita ira ter um botão add jar/folder
clique nele e selecione sua api!!!.

pronto vc adicionou a lib no seu projeto.

abraço

http://blog.fragmental.com.br/2005/08/16/pequeno-dicionario-da-reusabilidade-em-software/

[quote=andredeividi]Cara a grosso modo api são os jar que vc adiciona no seu projeto.

exemplo api do Mysql vc adiciona ela no seu projeto apartir dai vc tem acesso as classe que estão nesse pacote.
[/quote]

O exemplo está correto mas a definição não. Os JARs podem contêr componentes, somente APIs ou bibliotecas. No caso do MySQL ele possui a implementação em Java da API para se comunicar ao SGDB, que é um componente.

Pessoal, me ajudem a entender melhor. Desculpe o excesso de precisão conceitual, mas considero isto importante. Vamos lá:
Componente pode ser uma simples classe, uma String , por exemplo, correto?
API é a Interface exposta por um componente, conjunto de métodos públicos que permitem o acesso a classe String, por exemplo?

1 - É correto dizer “A API da String é composta por charAt(), concat(), indexOf…”
2 - Se o ítem 1 é verdade, posso afirmar que os construtores também fazem parte da API da String?
3 - equals() faz parte da API da String? está correto conceitualmente, mesmo sendo do Object?
4 - “O JDBC é a api que provê acesso universal a dados em java.” O JDBC é um componente?

Obrigado pela ajuda
Abs!

Sei conceitos mais avançados, porém ainda tenho dúvidas nesses. Mas sei que é preguiça minha mesmo. Quando comecei a trabalhar na área não lia muito, não ia atrás. Então obter resposta aqui (que poderia obter facilmente pesquisando um pouco) vai contra meus princípios. É claro que sempre tem o caso de embora a resposta existir, eu não pesquisar pelos termos (ou língua) corretos.
Só um adendo. Fiquei maravilhado com o conceito dado na apostila da caelum para interface (a da linguagem). Ela é chamada de contrato. Perfeito, acho até que deveria ser usado assim mesmo, em vez de interface, uma vez que, como já foi dito, toda classe tem sua interface. Eu sei, uma Interface é apenas, atenção, interface. Mas de qualquer forma confude nesses casos.