Ir para conteúdo
Fórum Script Brasil
  • 0

Classes E Objetos


DackAle

Pergunta

E ae galera =)

Uma pergunta besta, um futuro cliente me mandou um email perguntando se eu tenho conhecimento de classes e objetos, alguém tem algum exemplo de classes ou como funciona ?

Objetos que ele se refere, seria, objetos criados durante a programação, tipo utilizando componentes ? ou falei besteira ? rs

Se alguém tivesse exemplo, para saber se conheço ou não ficaria grato =)

Abraços e valeu =)

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

cara simplificando....

Crie um arquivo class.asp contendo o seguinte

<%

class teste

function AloMundo()

response.write "Alô mundo."

end function

end class

%>

Depois crie um arquivo teste.asp contendo...

<!--#include file="class.asp"-->

<%

DIM tst

set tst = new teste

call tst.AloMundo()

%>

Execute o arquivo teste.asp.

Parece um exempo bobo mas é muito útil para padronização de código... Uma mesma função no sistema inteiro que formata a data, ou que trata campos texto ou mesmo que abre conexão com o banco de dados...

Procure se informar sobre programação orientada a objetos...

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0

cara, eu acho que é isso mesmo que você disse...

<html>

<body>

<%

Set brtp = Server.CreateObject("MSWV.BrowesrType")

  If brtp.ActiveXControls Then %>

  este browser suporta constroles ActiveX

  <% Else %>

  este brownser não suporta constroles ActiveX

<% End If %>

</body>

</html>

nesse caso o objeto brtp pertecente a classe BrowserType .. biblioteca MSWC

esse exemplo está naquela famoso curso de ASP da unicamp ( que é o mesmo curso que o IPED dá dry.gif )

em outras palavras , fala pro seu cliente que você manja sim !! rs...

Link para o comentário
Compartilhar em outros sites

  • 0

hãm basicamente o classe seria algo parecido com a famosa include que uso a anos ? e junto com uma function ? rs

Basicamente classe seria algo que fazemos uma vez e chamamos, igual uma sub, function,, include e etc ?

Hmmm

e se objeto for isso emso ta beleza... bom já valeu pela ajuda =)

Abraços galera =)

Link para o comentário
Compartilhar em outros sites

  • 0

achei esse testo na minha pasta de tutorias, infelizmente não posso citar o criador pois é um arquivo DOC e não tem a identificação do mesmo:

Organizar aplicações complexas na forma de scripts não é tarefa fácil. É necessário garantir que as mesmas regras, a mesma lógica, sejam aplicadas em diversos locais da aplicação.

Com certeza você já conhece o INCLUDE, que permite você criar trechos genéricos de código e inclui-los onde precisar. O problema do uso do INCLUDE é que quando utilizado em excesso o código pode se tornar totalmente ilegível. O INCLUDE pode ter um efeito semelhante ao velho GOTO da linguagem BASIC.

Além disso, o simples uso do INCLUDE gera perda de performance. A tendencia é que você coloque no arquivo de INCLUDE todo código que precise ser repetido em mais de uma página. O problema é que todas as páginas que possuirem o INCLUDE farão esse processamento, muitas vezes desnecessário.

O primeiro problema então é fazer com que os trechos de código existentes sejam executados apenas quando realmente necessário. Cada trecho de código então ganhará um nome para, quando necessário, ser chamado.

Esses trechos de código são chamados de SUBs e/ou funções. A diferença entre uma sub e uma função é que a função realiza um calculo ou uma checagem e devolve um valor de resultado, enquanto que a sub apenas realiza uma tarefa sem devolver resultado algum.

Veja exemplos de uma sub e uma função :

Sub Imprimir

Response.write "Hello World From Sub"

End Sub

Function Calcular

Dim Res

Res=10*2

Calcular=Res

End Function

É interessante observar que a última linha da função realiza o retorno do valor, atribuindo o resultado ao nome da função. Toda função deve ter uma linha equivalente para retornar um valor.

Veja como a Sub será disparada :

Imprimir

E a função :

x=Calcular()

Observem que ao chamar a função devemos fazer algo com o valor que ela retornará como resultado. No exemplo acima o valor retornado pela função está sendo guardado na variável x. Poderíamos chama-la de outras formas, por exemplo, imprimindo o resultado da função no HTML. Neste caso o código ficaria assim :

Response.Write(Calcular())

Para tornar a tarefa realizada pela SUB ou pela função genérica é muito comum que elas precisem receber parâmetros do ponto em que elas forem chamadas. Digamos que a SUB precise receber o nome de uma pessoa e a função um número para realizar o cálculo. Veja como fica o código :

Sub Imprimir(Nome)

Response.write "Hello World From Sub " & nome

End Sub

Function Calcular(numero)

Dim Res

Res=10 * numero

Calcular=Res

End Function

Veja agora a forma de chamar as duas :

Imprimir("João)

x=Calcular(20)

Com esses recursos já é possível utilizar INCLUDEs sem perder muita performance, pois os trechos de código no INCLUDE apenas serão chamados quando necessário. Mas existe ainda um problema a mais : O volume de linhas no arquivo influencia a performance, pelo fato do ASP ser interpretado. Assim sendo, mesmo melhorando um pouco a performance em relação aos exemplos iniciais, ter um excesso de funções dentro de arquivos de include ainda gera uma degradação de performance.

Isso significa que será necessário dividir as funções e subs em vários arquivos diferentes, minimizando a existencia de funções e subs não utilizadas pela página na qual são incluidas. Para manter a ordem desta divisão o melhor método é utilizarmos um recurso de orientação a objetos existente no ASP, mas que poucos conhecem : A criação de classes.

Uma classe pode ser vista como um conjunto de funções e subs que tem um determinado objetivo único. Não pretendo aqui entrar em muitos detalhes da orientação a objetos, definirei apenas de forma básica para sua utilização em ASP.

As classes podem ser "reproduzidas" dentro do código. Quando precisa-se utilizar uma classe coloca-se a classe dentro de uma variável para que ela seja utilizada. Esse processo é chamado de instanciar a classe e a variável gerada é chamada de uma instância da classe ou um objeto que tem como tipo a classe.

O agrupamento de subs e funções é realizado com base na analogia a objetos reais. Por exemplo, quais são as atividades feitas por uma faca ? Ela pode cortar carne, fatiar queijo, picar cebola, entre outras coisas. Assim sendo, cada uma das tarefas realizadas por uma faca pode ser vista como uma sub ou função e tais subs/funções seriam agrupadas dentro de uma classe.

A criação de uma classe é muito simples. Tendo as subs e funções, basta agrupa-las em uma classe. Veja :

Class MinhaClasse

Sub Imprimir(Nome)

Response.write "Hello World From Sub " & nome

End Sub

Function Calcular(numero)

Dim Res

Res=10 * numero

Calcular=Res

End Function

End Class

Feito isso essa classe já pode ser utilizada dentro do código. Para utiliza-la precisaremos instancia-la e a partir de sua instância chamar os métodos existentes. Veja :

Dim X

Set X=New MinhaClasse

x.Imprimir("João")

Response.Write(X.Calcular(10))

Set X=nothing

Assim sendo, definimos uma variável X que irá conter a instância e logo em seguida criamos a instância (Set X=New MinhaClasse). A partir dai passamos a utilizar as subs e funções existentes dentro da classe. A única diferença de utilização é a necessidade de se referir ao nome da instância. Todas as funções e SUBs contidas em uma classe são chamadas de métodos.

Por fim, a última instrução destroi a instancia da classe.

Vale mencionar ainda que uma classe pode conter, além de subs/funções, informações que venham a ser utilizadas pelo código da classe. Assim sendo uma instancia da classe contém código e informação. Neste exemplo, podemos fazer com que o nome e o valor a ser calculado sejam guardados dentro da classe. Veja como fica o código da classe :

Class MinhaClasse

Public Nome

Public Numero

Sub Imprimir

Response.write "Hello World From Sub " & nome

End Sub

Function Calcular

Dim Res

Res=10 * numero

Calcular=Res

End Function

End Class

A instrução PUBLIC é equivalente a DIM. Só que uma variável de classe definida como PUBLIC pode ser manipulada fora da classe, quando definida com DIM não. Veja agora o código que utilizará essa classe :

Dim X

Set X=New MinhaClasse

x.Nome="Joao"

x.Numero=10

x.Imprimir

Response.Write(X.Calcular)

Set X=nothing

Logo após instanciar a classe os valores são armazenados dentro dela. Poderiam ficar guardados dentro da classe durante todo o código, conforme se fizer necessário. Não é mais preciso passar as informações para o método Imprimir e o Calcular, eles utilizarão as informações que estão dentro da classe.

Seguindo a orientação a objetos, o ASP também permite a definição de propriedades dentro da classe, para um melhor encapsulamento da classe. A definição de propriedades segue a mesma síntaxe do VB. Não entrarei em detalhes sobre isso.

Desta forma, utilizando classes pode-se facilmente agrupar as funções e subs. Pode-se então criar um arquivo .ASP para cada classe e depois inclui-lo em todas as páginas em que aquela classe for necessária. Você sempre saberá onde está a função/sub que você precisa, pois elas estarão agrupadas de forma lógica. Recomendo ainda que o nome do arquivo que conterá a classe seja montado com o prefixo "CL_" + o nome da classe. Assim sendo, apenas de olhar para o nome do arquivo você já saberá o que ele contém.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...