Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TJKen

Classes em asp?

Recommended Posts

Pesquisando e vagando pela internet, vejo pouco material sobre esse tema.

 

Mas há horas que é preciso criar classes e mesmo o ASP não sendo uma linguagem de POO, mas é possivel pelo menos criar classes.

 

Gostaria de saber de quem tem mais experiencia com a linguagem ou de alguem que já tenha usado classes em ASP, o seguinte: Como é a sintaxe de classes, como fazer a chamada das classes, muda algo no include?

 

Ahhh, já utilizo ASP faz um tempo em algumas aplicações web, mas até o momento nunca fiz classes com a mesma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai mano, bom... o uso de classes em uma linguagem proporciona ao programador facilidades em chamativas de funções e até mesmo na manutenção e reparos na aplicação, o uso de classes é aconselhável para você criar uma page include e colocar lá as classes da aplicação que são mais usadas, tipo conexão com bd, replaces e funções que são usadas em mais de uma page, nesta page classes você coloca estas funções e as chama em qualquer outra page de forma rápida e bem dinâmica em relação a mudar algo no include não, não muda nada você apenas terá que colocar o include desta classe no inicio do code da page e depois efetuar a requisição das mesmas.

 

Seria mais ou menos comparar tableless css com table, o tableless veio para facilitar a manutenção de sites pois você coloca todo o css em uma única linha de um arquivo css e depois modifica apenas esta linha e ela fará mudanças em todo o site especificamente nas partes aonde faz o uso deste css, com isso o programador ganha tempo pois em apenas uma linha é capaz de modificar todo o site, se não utiliza-se ele teria que modificar page por page da aplicação consequentemente o trabalho seria muito maior sem contar que neste caso estaria mais propenso em descobrir erros e os reparar mais rapidamente.

 

A um erro nos programadores iniciantes de não se usar ou estudar como trabalhar com classes, mais isto é apenas ilusório, pois em aplicações grandes o uso de classes é inevitável querendo ou não você terá que trabalhar com elas, caso contrário a aplicação ficara complicada e certamente no futuro você terá dor de cabeça para fazer a manutenção e atualização caso necessário.

 

A maioria dos códigos prontos espalhados pela web não utilizam classes justamente por serem aplicações de pequeno porte, mais para uma aplicação grande o uso delas são fundamentais e importantíssimas.

 

Tem um artigo interessante no site asp101 explicando sobre o uso e funcionalidades de se usar classes vale a leitura, lembrando que o artigo esta em inglês.

 

http://www.asp101.com/articles/richard/ooasp/default.asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ótimo.

 

Conheço bem o uso de classes, pq utilizo muito em JAVA. Já em ASP nunca tinha tido a necessidade. Mas já visando um código de mais qualidade, melhor estruturado, melhor organizado e de fácil manutenção, quero aprender a implantar as 'class' em ASP.

 

Obrigado e todo material extras e discussões são bem vindas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

trabalhar com classes proporciona a você uma melhor organização e estrutura de seus projetos, olha este exemplos para ajudar a criar

 

Podemos definir classes como um objeto, com seus próprios métodos (funções que atuam sobre este objeto) e propriedades (variáveis do objeto). Assim, o comando MyClass.Build() chama o método Build do objeto MyClass e MyClass.Titulo = "xyz" define o valor da propriedade Titulo do mesmo objeto. Pra quem acha isso complicado, vale o lembrete que, quando criamos um objeto ADODB.Connection, facilmente trabalhamos com suas propriedades (CursorType, Provider, etc) e métodos (Execute(), Open(), etc).

 

Classes podem ser criadas facilmente no VBScript, mediante a utilização de alguns comandos não comumente usados. O uso de classes pode ser útil pela reutilização do mesmo código em diversas partes da aplicação e pela facilidade de atribuir seus valores.

 

Pense no exemplo de paginação: qtas páginas de seu site usam o recurso de paginação, com a alteração de apenas uma ou duas características ? Pense qto código pode ser economizado com a utilização de apenas um código genérico. E lembre-se que o ASP é interpretado; ou seja: qto menos código, mais rápido a aplicação roda.

 

O primeiro dos comandos necessários é o Class, que define o nome da Classe. Não tem muito o que dizer, exceto que ele deve ser terminado com End Class, que vai depois de todo o código da Classe, englobando-a. Após definir o nome da classe, você precisa definir as propriedades. você pode simplesmente colocar Public Propriedade e então esta variável pode ser acessada externamente à ela. Caso coloque Private MyVar, esta variável terá escopo apenas dentro da classe. Muita gente usa o Propriety, que permite executar uma sequencia de comandos quando o valor da propriedade for atribuido, permitindo consistir os dados entrados.

Após a definição das propriedades, podemos definir os métodos. Assim, o comando Public Default Sub NomeMetodo define o método padrão para a Classe. você tbém pode definir o escopo para Private, fazendo com que a sub/function seja acessível apenas internamente à classe.

Pode parecer complicado, mas, com isso, você já pode criar uma classe, como no exemplo abaixo:

 

<%
Class olamundo
Private Texto_a_ser_mostrado
Public Property Let Texto ( cString ) 'Isso declara a *variavel* pública "Texto"
Texto_a_ser_mostrado = iif( len( cString & "" ) = 0, "Hello world!", cString )
End Property
Private Function iif( condicao, valor1, valor2 )
if condicao then iif = valor1 else iif = valor2
End Function
Private Sub ChecarSeTudoOk()
if len( Texto_a_ser_mostrado & "" ) = 0 then Texto = ""
End Sub
Public Default Sub ShowMessage
ChecarSeTudoOk()
response.write Texto_a_ser_mostrado
End Sub
End Class
Dim oolamundo
Set oolamundo = New olamundo
With oolamundo
'.Texto = "Hi there!"
.ShowMessage()
End With
%>

Você pode pegar o trecho do Class (as linhas entre o "Class olamundo" e o "End Class", inclusive) e colocar em um arquivo chamado olamundoClass.asp e incluí-lo no seu script, com <!-- #include file="HelloWorldClass.asp" -->

 

abixo um exemplo mais elaborado

<%
‘definição do nome da sua classe
Class Agenda

Dim Nome, Endereco, Telefone, Email ‘definição de variáveis que serão utilizadas para guardar as informações que serão digitadas.
Private Conex ‘variáel que fará a conexão com banco.
Private RS ‘variável do recordset.
Private SQL ‘variável que terá o retorno do que foi gravado.

‘Criei variáveis privadas, porque só serão usadas aqui na classe.
Private Sub AbrirConexao 
Set Conex = CreateObject("ADODB.Connection") 
Set RS = CreateObject("ADODB.Recordset") 
Conex.Open "dbq=C:\rafael\artigos\classe\classe.mdb;driver={Microsoft Access Driver (*.mdb)}" 'colque sua string de conexão
End Sub 

‘função que chamarei para fazer a inclusão dos dados.
Sub Incluir
‘chama a função que faz a conexão com banco. 
Call AbrirConexao
SQL = "Insert into Agenda (Nome, Endereco, Telefone, Email) values ('" & Nome & "', '" & Endereco & "', '" & Telefone & "', '" & Email & "')" 
set RS = Conex.Execute(SQL)


Call FecharConexao 
End Sub 

‘função que fecha a conexão com o banco.
Private Sub FecharConexao 
If Conex.State <> 0 Then Conex.Close 
End Sub


End Class 
%>

Agora vamos criar o form, onde será chamada a classe e a função inlcuir. Crie um arquivo chamado c_incluir.asp.

Chamo a página que tem a classe para mais adiante poder usar a classe e a função.

<!-- #Include File="classe.asp" -->

‘abaixo um formulário normal. Nenhum segredo.
<html>
<head>
<title>Form Incluir - Usando Classe</title>
</head>
<body>
<form name="FormIncluir" method="post">

<table width="42%" border="0" cellspacing="1" cellpadding="1" align="center">
<tr>
<td width="13%">Nome:</td>
<td width="87%">
<input type="tex" name="nome" size="50">
</td>
</tr>
<tr>
<td>Endereço:</td>
<td>
<input type="text" name="endereco" size="40">
</td>
</tr>
<tr>
<td>Telefone:</td>
<td>
<input type="text" name="telefone" size="20">
</td>
</tr>
<tr>
<td>E-mail:</td>
<td>
<input type="text" name="email" size="60">
</td>
</tr>
<tr>
<td colspan="2" align="center" height="40">
<input type="button" name="gravar" value=" Gravar " onClick="clicou();">  
</td>
</tr>
</table>
<input type="hidden" name="bt">
</form>
</body>
</html>

‘Criei esse script simplesmente para não submeter outra página, depois que clicar em gravar. Aí você pode fazer da forma que achar melhor.
<script>
function clicou()
{
FormIncluir.bt.value = 0;
FormIncluir.action = 'c_incluir.asp'
FormIncluir.submit();
}

</script>

<%
if request("bt") = "0" then
'Chamando a classe que possui a função incluir que grava no banco de dados
dim ag 
'INSTÂNCIA A CLASSE
set ag = new agenda

‘atribui os valores digitados nos campos àquelas variáveis que criamos na classe. Lembra? 
ag.Nome = request("nome")
ag.Endereco = request("endereco") 
ag.Telefone = request("telefone")
ag.Email = request("email")
'Chama o nome da função
ag.incluir 

response.Write("<div align=center>Dados incluido com sucesso....</div>")
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.