Método (programação)

Em orientação a objetos, uma Função (ou função membro) é uma sub-rotina (ou procedimento ou função) associada a um objeto, e que possui acesso aos seus dados, as variáveis membro. Ele é executado por um objeto ao receber uma mensagem. Os métodos determinam o comportamento dos objetos de uma classe e são análogos às funções ou procedimentos da programação estruturada. O envio de mensagens (chamada de métodos) pode alterar o estado de um objeto.

Em linguagens baseadas em classe eles são definidos na classe. Métodos definem o comportamento a ser exibido pelas instâncias da classe associada no tempo de execução do programa. Métodos possuem a propriedade especial que em tempo de execução, possuem acesso aos dados armazenados em uma instância da classe (ou instância de classe ou objeto de classe ou objeto) que estão associados e são, desta forma, capazes de controlar o estado da instância. A associação entre classe e método é chamada de ligação (binding). Um método associado com uma classe é dito estar ligado (bound) à classe. Métodos podem ser ligados a uma classe em tempo de compilação (ligação estática) ou a um objeto em tempo de execução (ligação dinâmica).

Exemplo

O seguinte código Java define um método "retângulo" na classe "main", que pode encontrar a área de um retângulo.

public class Main {
        int retangulo(int a, int h) {
                return a*h;
        }
}

Métodos abstratos

Um método abstrato é aquele com apenas uma assinatura e sem corpo de implementação. É frequentemente utilizado para especificar que uma subclasse deve fornecer uma implementação do método. Métodos abstratos são usados para especificar interfaces em algumas linguagens de computador.

Exemplo

O seguinte código em Python mostra uma classe abstrata que precisa ser estendida:

from abc import *
class Veiculo(metaclass = ABCMeta):
    @abstractmethod
    def transportar(self, fator):
        pass

A seguinte subclasse estende a classe principal:

class Aeroplano(Veiculo):
    def transportar(self, pessoas):
        super().transportar(fator):
        self.combustivel = pessoas * fator * trecho

    def voar(self):
        return "Aeronave em vôo"

Métodos de classe

Métodos de classe são métodos que são chamados sobre uma classe (comparar este com métodos de instância de classe ou métodos de objeto). Seu significado pode variar dependendo da linguagem de programação:[1]

  • Em algumas linguagens (por exemplo, C++, Java), métodos de classe são sinônimos de métodos estáticos (ver seção abaixo), que são chamados com um nome de classe conhecido em tempo de compilação. this não pode ser usado em métodos estáticos
  • Em outras linguagens (por exemplo, Smalltalk, Ruby, Objective-C), métodos de classe são métodos que são chamados sobre um objeto de classe, que pode ser computado em tempo de execução, não existindo diferença entre chamar um método sobre um objeto regular ou um objeto de classe. Entretanto, ambos os métodos de instância e de classe são resolvidos dinamicamente e não há métodos "estáticos". Notavelmente, nesses métodos de classe, o this se refere ao objeto de classe
  • Algumas linguagens possuem ambos. Por exemplo, em Python, pode-se criar métodos de classe e métodos estáticos usando os decoradores classmethod e staticmethod, respectivamente. O primeiro possui acesso ao this (isto é, o objeto de instância, convencionalmente conhecido como self), enquanto o segundo não.

Métodos especiais

Os métodos especiais são muito específicos da linguagem e uma linguagem pode suportar nenhum, alguns ou todos os métodos especiais definidos aqui. O compilador de uma linguagem pode gerar automaticamente métodos especiais padrão ou um programador pode ter permissão para definir métodos especiais opcionalmente. A maioria dos métodos especiais não pode ser chamada diretamente, mas, em vez disso, o compilador gera código para chamá-los nos momentos apropriados.

Métodos estáticos

Os métodos estáticos devem ser relevantes para todas as instâncias de uma classe, e não para qualquer instância específica. Nesse sentido, são semelhantes a variáveis estáticas. Um exemplo seria um método estático para somar os valores de todas as variáveis de cada instância de uma classe. Por exemplo, se houvesse uma classe Produto, ela poderia ter um método estático para calcular o preço médio de todos os produtos.

Em Java, um método estático comumente usado é:

Math.max(double a, double b)

Este método estático não possui nenhum objeto proprietário e não é executado em uma instância. Ele recebe todas as informações de seus argumentos.[2] Métodos estáticos não requerem uma instância da classe nem podem acessar implicitamente os dados (ou this, self, Me, etc.) de tal instância. Um método estático é distinguido em algumas linguagens de programação com a palavra-chave static colocada em algum lugar na assinatura do método.

Um método estático pode ser chamado mesmo que ainda não exista nenhuma instância da classe. Os métodos estáticos são chamados de "estáticos" porque são resolvidos em tempo de compilação (estaticamente), com base na classe em que são chamados, e não dinamicamente, como no caso dos métodos de instância, que são resolvidos polimorficamente com base no tipo de tempo de execução do objeto.

Métodos de conversão de operadores

Um operador de conversão fornece um meio para que o compilador implicitamente (realizado pelo compilador automaticamente quando for o caso) fornece um objeto de um tipo diferente do tipo do objeto de classe.


Referências

  1. Freitas, Caiuby (18 de julho de 2006). «Introdução ao uso de métodos de classe». iMasters. Consultado em 14 de dezembro de 2022. Arquivado do original em 16 de julho de 2013 
  2. Martin, Robert C. (2009). Clean Code: A Handbook of Agile Software Craftsmanship. [S.l.]: Prentice Hall. 296 páginas. ISBN 978-0-13-235088-4 

Ligações externas

Outros projetos Wikimedia também contêm material sobre este tema:
Wikilivros Livros e manuais no Wikilivros


Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.

Read other articles:

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Bonita album – berita · surat kabar · buku · cendekiawan · JSTOR BonitaAlbum studio karya BonitaDirilis6 September 2003GenrePopBahasaIndonesiaLabelPendulum Music, Universal Music IndonesiaProdus...

 

Not to be confused with Journal of Black Studies. Academic journalJournal of African American StudiesDisciplineAfrican American studiesLanguageEnglishEdited byJudson L. JeffriesPublication detailsPublisherSpringer (United States)Frequency4/year[1]Impact factor0.20[2] (2018)Standard abbreviationsISO 4 (alt) · Bluebook (alt1 · alt2)NLM (alt) · MathSciNet (alt )ISO 4J. Afr. Am. Stud.IndexingCODEN (alt · alt2) ...

 

Stadion Louis II LokasiLokasiFontvieille, MonakoKonstruksiDibuatawal 1980 (bangunan baru)Dibuka1939 (awal)11 May 1985 (bangunan baru)Data teknisPermukaanRumputKapasitas18.500 (tempat duduk)PemakaiAS MonacoMonakoPiala Super UEFA (1998–2012)Sunting kotak info • L • BBantuan penggunaan templat ini Stadion Louis II adalah sebuah stadion sepak bola yang terletak di Fontvieille salah satu distrik Monako. Stadion ini adalah stadion kandang bagi AS Monaco dan Monako, dan menjadi tempa...

Untuk kegunaan lain, lihat Babun (disambiguasi). Babun[1] Babun anubis Klasifikasi ilmiah Kerajaan: Animalia Filum: Chordata Kelas: Mamalia Ordo: Primata Famili: Cercopithecidae Subfamili: Cercopithecinae Tribus: Papionini Genus: PapioErxleben, 1777 Spesies tipe Simia hamadryasLinnaeus, 1758 Spesies Papio hamadryas Papio papio Papio anubis Papio cynocephalus Papio ursinus Sinonim Chaeropitheus Gervais, 1839 Comopithecus J. A. Allen, 1925 Cynocephalus G. Cuvier and É. Geoffroy, 1795 H...

 

NASA program Journalist in Space ProjectDuration1985–1986GoalsTo inform the public about spaceflightAchievedPostponed indefinitely after the Space Shuttle Challenger disaster.OrganizerNASARelated programsTeacher in Space Project The Journalist in Space Project was a NASA program designed to inform the public about spaceflight. Journalists would have flown in space on NASA's Space Shuttle. Some forty finalists were selected from over 1,700 applications, but the project was postponed indefini...

 

Tatiana Santo Domingo Données clés Naissance 24 novembre 1983 (40 ans) New York (État de New York, États-Unis) Nationalité ColombienneMonégasqueAméricaine Pays de résidence MonacoSuisseFranceRoyaume-Uni Profession Femme d'affaires Activité principale Créatrice de mode Formation École internationale de GenèvePensionnat à Fontainebleau Ascendants Julio Mario Santo Domingo BragaVera Rechulski Conjoint Andrea Casiraghi Descendants Alexandre CasiraghiIndia CasiraghiMaximilian Ca...

Genre of popular music in the Cantonese language Demographics and culture of Hong Kong Demographics Census Health Hongkongers Hong Kong resident Hong Kong identity card Languages Religion Right of abode Culture Cinema Comics Cuisine Media Music Opera Public holidays Shopping Sport Literature Visual art Slang Other Hong Kong topics Economy Education Geography History Politics vte CantopopTraditional Chinese粵語流行音樂Simplified Chinese粤语流行音乐TranscriptionsStandard Mandar...

 

Dulafid dynastyc.800–897/898CapitalKarajCommon languagesClassical ArabicReligion Sunni IslamGovernmentEmirateHistory • Established c.800• Disestablished 897/898 Preceded by Succeeded by Abbasid caliphate Abbasid caliphate Historical Arab states and dynasties Ancient Arab states Kingdom of Qedar 800 BC–300 BC Kingdom of Lihyan 600 BC–100 BC Nabataean Kingdom 400 BC–106 AD Kingdom of Osroene 132 BC–244 AD Emesene Dynasty 64 BC–300s AD Kingdom of Hatra 100s–...

 

Ayumu SasakiKebangsaanJepangLahir4 Oktober 2000 (umur 23)Yokosuka, Kanagawa, JepangTim saat iniRed Bull KTM Tech3No. motor71 Catatan statistik Karier Kejuaraan Dunia Moto3Tahun aktif2016– PabrikanHonda, KTM Klasemen 202016th (52 poin) Start Menang Podium Pole F. lap Poin 72 0 1 1 1 205 Ayumu Sasaki (佐々木 歩夢code: ja is deprecated , Sasaki Ayumu, lahir 4 Oktober 2000) adalah pembalap motor Jepang. Karier Pada 2015 Sasaki adalah juara Asia Talent Cup dan finis ketiga di Red Bull ...

United States historic placeOskaloosa City HallU.S. National Register of Historic PlacesU.S. Historic districtContributing property Show map of IowaShow map of the United StatesLocationJct. of S. Market St. and 2nd Ave. E., NE cornerOskaloosa, IowaCoordinates41°17′37″N 92°38′40″W / 41.29361°N 92.64444°W / 41.29361; -92.64444Arealess than one acreBuilt1911ArchitectFrank E. WetherellS.B. SinclairArchitectural styleRenaissance RevivalPart ofOskaloosa City...

 

Place in Centre-Est Region, Burkina FasoGuellaCountry Burkina FasoRegionCentre-Est RegionProvinceBoulgou ProvinceDepartmentTenkodogo DepartmentPopulation (2005 est.) • Total706 Guella is a village in the Tenkodogo Department of Boulgou Province in south-eastern Burkina Faso. As of 2005, the village has a population of 706.[1] References ^ Burkinabé government inforoute communale Archived 2008-10-11 at the Wayback Machine vte Boulgou ProvinceCapital: TenkodogoBag...

 

SMA Negeri 3 PekalonganInformasiDidirikan5 Juni 1989AkreditasiANomor Pokok Sekolah Nasional20329508MaskotGanesha (Gajah)Kepala SekolahYulianto Nurul Furqon, M. Pd.Jumlah kelas21 KelasRentang kelasX,XI,XIIKurikulumKurikulum Merdeka BelajarStatusNegeriAlamatLokasiJalan Progo 28, Padukuhan Kraton, Kota Pekalongan, Jawa Tengah, IndonesiaTel./Faks.(0285) 421035Situs webhttp://www.sman3pekalongan.sch.id/[email protected] (Keluarga Alumni SMA Nege...

1986 compilation album by Phil OchsA Toast to Those Who Are GoneCompilation album by Phil OchsReleased1986Recordedearly-mid-1960sGenreFolkLength43:57LabelRhinoProducerKen Perry (remastering)Bill Inglot (remastering)Phil Ochs chronology Interviews with Phil Ochs(1976) A Toast to Those Who Are Gone(1986) The War Is Over: The Best of Phil Ochs(1988) A Toast to Those Who Are Gone is a 1986 compilation album of recordings that Phil Ochs made in the early to mid-1960s, mostly between his co...

 

American ambassador and diplomat Brian W. ShukanUnited States Ambassador to Benin IncumbentAssumed office May 5, 2022PresidentJoe BidenPreceded byPatricia MahoneyCharge d’Affaires ad interim to SudanIn officeOctober 2019 – January 2022PresidentDonald TrumpJoe BidenPreceded bySteven KoutsisSucceeded byLucy Tamlyn Personal detailsAlma materUniversity of WisconsinNaval War CollegeWashington University in St. Louis Brian Wesley Shukan[1] is a career member of the Senior F...

 

American politician (1764–1855) For other people named John Locke, see John Locke (disambiguation). John LockeMember of the U.S. House of Representativesfrom Massachusetts's 6th districtIn officeMarch 4, 1823 – March 3, 1829Preceded bySamuel Clesson AllenSucceeded byJoseph G. KendallMember of the Massachusetts House of RepresentativesIn office1804–180518131823 Personal detailsBorn(1764-02-14)February 14, 1764Hopkinton, Province of Massachusetts Bay, British AmericaD...

American politician (1846–1929) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Charles E. Belknap – news · newspapers · books · scholar · JSTOR (July 2023) (Learn how and when to remove this message) Charles E. BelknapMember of the U.S. House of Representativesfrom Michigan's 5th districtIn of...

 

List of Indonesia-related articles See also: List of Indonesia-related topics Main article: Indonesia Location of the Republic of Indonesia The following is an alphabetical list of topics related to the Republic of Indonesia. Contents A B C D E F G H I J K L M N O P Q R S T U V W X Y Z See also References External links 0–9 .id 127/U/Kep/12/1966 1740 Batavia massacre 1918 Kudus riot 2002 Bali bombings 2004 Indian Ocean earthquake and tsunami 2005 Bali bombings 2005 Java-Bali blackout 2005 M...

 

Questa voce sull'argomento politici pakistani è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Muhammad Mian Soomro Presidente del Pakistan(ad interim)Durata mandato18 agosto 2008 –9 settembre 2008 Capo del governoYousaf Raza Gillani PredecessorePervez Musharraf SuccessoreAsif Ali Zardari Primo ministro del PakistanDurata mandato16 novembre 2007 –25 marzo 2008 PresidentePervez Musharraf PredecessoreShaukat Aziz Successor...

Swimmingat the Games of the IX OlympiadVenueOlympic Sports Park Swim StadiumDates4–11 August 1928No. of events11Competitors182 from 28 nations← 19241932 → Swimming at the1928 Summer OlympicsFreestyle100 mmenwomen400 mmenwomen1500 mmenBackstroke100 mmenwomenBreaststroke200 mmenwomenFreestyle relay4 × 100 mwomen4 × 200 mmenvte At the 1928 Summer Olympics in Amsterdam, eleven swimming events were contested, six for men and five for women.[1] The compe...

 

اتحاد كتاب مصر   معلومات شخصية الحياة العملية المهنة كاتب  بوابة الأدب تعديل مصدري - تعديل   اتحاد كتاب مصر مقره 11أ شارع حسن صبري بمنطقة الزمالك بمدينة القاهرة في مصر.[1] الاتحاد يضم نخبة المبدعين المصريين. نشأته أسسه الأديب يوسف السباعي في السبعينيات وضم نخبة ال�...