k: kus saada autole kleepsu?
selge, t2nud.
see on eesti keeles driftime, mitte inglise keeles drift time 
abi saad kindlasti siit http://www.driftime.ee/
[**Tarneaadress**](milline-informatsioon-peab-olema-ilmtingimata-transpordietikettidel-q1177.html#a8042) [**JJ-street**](head-tantsustuudiod-tartus-q675.html#a634) [**Raku kehas**](kus-asub-narvirakutuum-q1149.html#a7229) [**AnnaAbis leidub nii mõndagi**](kust-oleks-voimalik-oppida-raudbetoontoodete-armeerimisjooniste-lugemist-internetist-q385.html#a17)
Leidsin AnnaAbist palju selleteemalisi materjale, kas neid oled lugenud?

  

 

  

[http://www.annaabi.ee/s.php?s=armeer+betoon](s.php?s=armeer+betoon) [**tsement**](mida-tehakse-kruusast-q501.html#a1166)
Põrandate betooniga (tsement)katmiseks [**mis probleem? kas oled leidnud lahenduse? soovitan abiõpetajat**](soovin-abi-5-klassi-tudrukule-q1255.html#a8618) karkassi ei saa soojustuse peale kinnitada.natuke segane info. olen enam kui 10a paigaldanud,ja olen ime soove kuulnud akna paigalduse soovist. [**Elioni videolaenutuset**](kust-saab-vaadata-supilinna-salaseltsi-taispikkuses-netis-q816.html#a2395) [**2 vastus on õige**](kas-lisateatetahvel-81-and-kaugus-objektini-and-naitab-q883.html#a3605) Liidesed



Liides on **leping**: Inimene, kes kirjutab liidese, ütleb: "*hei, ma aktsepteerin, et asjad näevad välja nii*", ja inimene, kes kasutab liidese, ütleb: "*OK, klass, mille ma kirjutan, näeb välja nii*".


**Liides on tühi kest**. Seal on ainult meetodite signatuurid, mis tähendab, et meetoditel ei ole keha. Liides ei saa midagi teha. See on lihtsalt muster.


Näiteks (pseudokood):



```
// I say all motor vehicles should look like this:
interface MotorVehicle
{
    void run();

    int getFuel();
}

// My team mate complies and writes vehicle looking that way
class Car implements MotorVehicle
{

    int fuel;

    void run()
    {
        print("Wrroooooooom");
    }

    int getFuel()
    {
        return this.fuel;
    }
}
```

Liidese rakendamine kulutab väga vähe protsessorit, sest see ei ole klass, vaid lihtsalt hunnik nimesid, ja seetõttu ei ole vaja teha mingeid kalleid otsinguid. See on suurepärane, kui see on oluline, näiteks manussüsteemides.







Abstraktsed klassid



Abstraktsed klassid, erinevalt liideseist, on klassid. Nende kasutamine on kallim, sest nende pärimisel tuleb teha otsing.


Abstraktsed klassid näevad välja nagu liidesed, kuid neil on midagi enamat: Nende jaoks saab defineerida käitumist. See on rohkem sellest, et inimene ütleb: "*täna klassid peaksid välja nägema nii ja naa, neil on see ühine, seega täida tühjad kohad!*".


Näiteks:



```
// I say all motor vehicles should look like this:
abstract class MotorVehicle
{

    int fuel;

    // They ALL have fuel, so lets implement this for everybody.
    int getFuel()
    {
         return this.fuel;
    }

    // That can be very different, force them to provide their
    // own implementation.
    abstract void run();
}

// My teammate complies and writes vehicle looking that way
class Car extends MotorVehicle
{
    void run()
    {
        print("Wrroooooooom");
    }
}
```






Rakendamine



Kuigi abstraktsed klassid ja liidesed peaksid olema erinevad mõisted, teevad rakendused selle väite mõnikord ebatõeseks. Mõnikord ei ole nad isegi mitte see, mida te arvate, et nad on.


Java's on see reegel rangelt rakendatud, PHP's aga on liidesed abstraktsed klassid, mille puhul ei ole meetodit deklareeritud.


Pythonis on abstraktsed klassid pigem programmeerimistrikk, mida saab ABC-moodulist ja tegelikult kasutatakse metaklasse ja seega klassid. Ja liidesed on selles keeles rohkem seotud pardatüüpimisega ja see on segu konventsioonidest ja spetsiaalsetest meetoditest, mis kutsuvad deskriptoreid (\_\_meetodid\_\_\_ meetodid).


Nagu programmeerimisel ikka, on teooria, praktika ja praktika teises keeles :-)