Você está aqui: Cards de Python |
||
|
||
![]() |
||
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar encapsulamento em Java - Programação Orientada a Objetos em JavaQuantidade de visualizações: 37932 vezes |
Encapsulamento é a técnica de transformar os objetos que compõem uma aplicação em verdadeiras caixas-pretas. De fato, se pensarmos em termos de informática, é possível para um usuário comum usar todas as funcionalidades de uma impressora sem nem mesmo entender seu funcionamento interno. Imagine o desastre que seria se todos os usuários resolvessem abrir suas impressoras para investigar o que há dentro delas. Da mesma forma, ao construir uma classe, devemos fazê-lo de forma que o usuário desta classe tenha acesso apenas aos métodos que permitem ler informações da classe ou fornecer os dados necessários para sua correta operação. Dados relativos ao funcionamento interno da classe devem permanecer ocultos e acessíveis somente aos métodos da própria classe. O encapsulamento deve ser aplicado de forma a permitir que alterações na estrutura interna de uma classe não prejudique o funcionamento do código externo que a usa. Veja um exemplo: class Pedido{ public List obterProdutos(){ // monta uma lista de produtos // pertecentes a este pedido return lista; } } A classe Pedido contém um método chamado obterProdutos() que retorna uma lista de produtos pertencentes a um determinado pedido. É aqui que o encapsulamento se torna importante. O código que usa esta classe desconhece completamente como esta lista de produtos é montada. Tudo que nos interessa é a lista de produtos que o método retorna. O programador da classe pode decidir a qualquer momento, talvez para melhorar o desempenho da classe, alterar a forma de montagem da lista. Uma vez que o nome e retorno do método (incluindo a estrutura da lista retornada) continuem sendo os mesmos, o código que usa a classe continuará funcionando como anteriormente. |
Java ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Java - Como obter o dia do mês usando as constantes DATE e DAY_OF_MONTH da classe CalendarQuantidade de visualizações: 9120 vezes |
Em algumas situações pode ser necessário obtermos o dia do mês para uma determinada data. Nestes casos podemos usar o método get() em combinação com as constantes DATE e DAY_OF_MONTH da classe Calendar. Estas constantes retornam um valor inteiro na faixa de 1 a 31. Veja um exemplo:package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String args[]){ // vamos obter a data e hora atual Calendar agora = Calendar.getInstance(); // vamos obter o dia do mês System.out.println("O dia do mês é: " + agora.get(Calendar.DAY_OF_MONTH)); } } Ao executarmos este código nós teremos o seguinte resultado: O dia do mês é: 26 |
JavaScript ::: W3C DOM - (Wide Web Consortium) Document Object Model ::: Navegação e Pesquisa de Nós (Nodes) |
Como usar a propriedade parentNode para obter o objeto pai de um elemento na hierarquia do DOM do JavaScriptQuantidade de visualizações: 10252 vezes |
Em algumas situações precisamos verificar o objeto pai do elemento atual na hierarquia do DOM (Document Object Model). Para isso podemos usar a propriedade parentNode. Veja um trecho de código no qual temos um elemento <a> (um link) dentro de um elemento div. Note como usamos uma função para obter o elemento pai do link e exibir seu nome de tag e valor da propriedade id: <html> <head> <title>Estudos JavaScript</title> <script type="text/javascript"> function obterParentNode(){ // vamos obter o link com o id "link" var no = document.getElementById("link"); // vamos obter o nó pai deste link var noPai = no.parentNode; // vamos exibir o nome da tag e id do nó pai window.alert("A tag do nó pai é: " + noPai.tagName); // vamos exibir o valor da propriedade id do nó pai window.alert("O id do nó pai é: " + noPai.id); } </script> </head> <body> <div id="container"> <a id="link" href="http://www.google.com">Sou um link</a> </div> <br> <button onclick="obterParentNode()">Obter Nó Pai do Link</button> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: A tag do nó pai é: DIV O id do nó pai é: container Veja que o nome da tag do elemento pai é obtido por meio da propriedade tagName. Note também que a propriedade parentNode de um elemento HTML é somente-leitura, ou seja, não podemos alterar seu valor durante a execução de nossos códigos. Esta dica foi escrita e testada no Google Chrome 127.0.6533.122 (Versão oficial) 64 bits. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercício Resolvido de Python - Como calcular o restante de um salário após o pagamento de duas contas com jurosQuantidade de visualizações: 1337 vezes |
Pergunta/Tarefa: Cintia acaba de receber seu salário mas precisa pagar duas contas atrasadas. Por causa do atraso, ela deverá pagar multa de 2% sobre cada conta. Faça um programa que leia o valor do salário e das duas contas e que calcule e mostre quanto restará do salário de Cintia. Sua saída deverá ser parecida com: Informe o salário: 1350 Valor da primeira conta: 140 Valor da segunda conta: 300 Total das contas sem juros: 440.0 Total dos juros: 8.8 Total das contas com juros: 448.8 Sobra do salário: 901.2 Veja a resolução comentada deste exercício usando Python: # método principal def main(): # vamos pedir que o usuário informe o valor do salário e das duas contas salario = float(input("Informe o salário: ")) conta1 = float(input("Valor da primeira conta: ")) conta2 = float(input("Valor da segunda conta: ")) # total a ser pago nas duas contas sem os juros total_contas = conta1 + conta2 # calcula os juros total_juros = total_contas * 0.02 # total a ser pago com juros total_contas_com_juros = total_contas + total_juros # sobra do salário sobra_salario = salario - total_contas_com_juros # mostra os resultados print("\nTotal das contas sem juros: {0}".format(total_contas)) print("Total dos juros: {0}".format(total_juros)) print("Total das contas com juros: {0}".format(total_contas_com_juros)) print("Sobra do salário: {0}".format(sobra_salario)) if __name__== "__main__": main() |
AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment |
Como retornar a quantidade de estacas de um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET APIQuantidade de visualizações: 549 vezes |
Nesta dica vou mostrar como podemos obter a quantidade de estacas em um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET API. Para este exemplo eu usei um alinhamento com o nome "EIXO DA RODOVIA". O primeiro passo é obter uma referência ao documento atual do AutoCAD Civil 3D usando CivilApplication.ActiveDocument. En seguida nós pesquisamos um alinhamento usando uma função personalizada GetAlignmentByName(), que recebe o documento atual e o nome do alinhamento que queremos pesquisar. O retorno desta função é um objeto da classe Alignment. Agora que já temos o alinhamento, nós usamos a função GetStationSet() para retornar um vetor de objetos Station, que significa estaca no Civil 3D. Note que passei como parâmetro o valor StationTypes.Major e usei alinhamento.StationIndexIncrement como o intervalo entre as estacas. Uma vez que já temos o vetor de objetos Station, ou seja, um vetor contendo todas as estacas do alinhamento, só precisamos obter a quantidade de itens usando a propriedade Length. Veja o código AutoCAD Civil 3D .NET C# completo para o exemplo: using System; using Autodesk.AutoCAD.Runtime; using Autodesk.Civil.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.Civil.DatabaseServices; namespace Estudos { public class Class1 : IExtensionApplication { [CommandMethod("Alinhamento")] public void Alinhamento() { // vamos obter uma referência ao documento atual do Civil 3D CivilDocument doc = CivilApplication.ActiveDocument; // obtemos o editor Editor editor = Application.DocumentManager.MdiActiveDocument.Editor; // vamos pesquisar o alinhamento chamado "EIXO DA RODOVIA" string nome = "EIXO DA RODOVIA"; // vamos iniciar um nova transação using (Transaction ts = Application.DocumentManager.MdiActiveDocument. Database.TransactionManager.StartTransaction()) { try { // efetuamos uma chamada ao método GetAlignmentByName() passando // o documento atual do AutoCAD Civil 3D e o nome do alinhamento // que queremos encontrar Alignment alinhamento = GetAlignmentByName(doc, nome); // ops, o alinhamento não foi encontrado if (alinhamento == null) { editor.WriteMessage("\nO alinhamento não foi encontrado."); } else { // encontramos o alinhamento. Vamos mostrar a quantidade de estacas // que ele possui Station[] estacas = alinhamento.GetStationSet(StationTypes.Major, alinhamento.StationIndexIncrement); int quant_estacas = estacas.Length; // e mostramos o resultado editor.WriteMessage("\nO alinhamento possui " + quant_estacas + " estacas.\n"); } } catch (System.Exception e) { // vamos tratar o erro editor.WriteMessage("Erro: {0}", e.Message); } } } // função C# que retorna um alinhamento por nome, ou null em // caso de não encontrar o alinhamento desejado public Alignment GetAlignmentByName(CivilDocument doc, string nome) { // vamos declarar um objeto da classe Alignment Alignment alinhamento = null; // agora vamos obter os ids de todos os alinhamentos ObjectIdCollection alinhamentos = doc.GetAlignmentIds(); // vamos percorrer todos os ids de alinhamentos retornados foreach (ObjectId idAlinhamento in alinhamentos) { alinhamento = idAlinhamento.GetObject(OpenMode.ForRead) as Alignment; // encontramos o alinhamento if (alinhamento.Name.Equals(nome)) { return alinhamento; } } // retorna null se o alinhamento não for encontrado return null; } public void Initialize() { // pode deixar em branco } public void Terminate() { // pode deixar em branco } } } Ao executar este código AutoCAD Civil 3D C# .NET nós teremos o seguinte resultado: O alinhamento possui 152 estacas. |
Veja mais Dicas e truques de AutoCAD Civil 3D .NET C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |