Jump to content

Search the Community

Showing results for tags 'tutorial'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Gamelife - Linkuri Sociale
    • Facebook Page
    • Instagram Page
    • Steam Group
    • Gametracker Clan
  • Gamelife - Development
    • Community
    • Staff Only
    • Server Management
    • Competitions / Free games
  • Gamelife - Public Servers
    • Servers Counter-Strike:Global Offensive
    • Servers Counter-Strike 1.6
    • Servers San Andreas Multiplayer
    • TeamSpeak 3
    • Discord
  • Design
    • Design
  • Gamelife - World of blogging
    • Descopera
    • Cinema
    • Gamelife - IT Area
    • Lifestyle & Entertainment Hub
    • Music Lounge
  • Gamelife - General Zone
    • Projects / keys steam free / other games
    • Other Games
  • GAMELIFE - COMMUNITY's Bun venit in Clubul Gamelife
  • GAMELIFE - COMMUNITY's Discutii Libere
  • Valorant Team GL's Prezentare!
  • RESPAWN's Topics

Categories

  • Counter Strike 1.6
    • Addons
    • Plugins
    • Maps
    • Others
  • Counter Strike Global Offensive
    • Maps
    • Plugins
    • Others
  • Skins , cfg , GUIs
  • Productia Gamelife
  • Design

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Facebook


Instagram


Steam Profile ID


Gender


Location


Interests


About Me

Found 2 results

  1. Salut, Acum că am trecut de partea introductivă, suntem pregătiţi să ne aruncăm în specificaţiile limbajului. Astfel, următoarele câteva lecţii vor fi dedicate variabilelor şi tipurilor de date în Python. Pe scurt, o variabilă este o zonă rezervată de memorie în interiorul căreia putem păstra informaţii. Mai mult, în funcţie de tipul informaţiei pe care o păstrează, o variabilă poate fi de mai multe tipuri. Tipul unei variabile se mai numeşte şi tip de date. Teorie: După cum ştim, un calculator "gândeşte" numai în valori de 1 şi 0. Prin urmare, orice valoare ne-am dori să păstrăm în memorie, va avea o reprezentare în baza 2. De exemplu, să presupunem că pentru a reprezenta un număr întreg, este nevoie de 4 bytes, echivalent cu 4 * 8 = 32 de biţi (un bit este un număr 1 sau 0). Fiecare modalitate de a combina cele 32 de numere 1 sau 0 va reprezenta un număr întreg unic. Având presupunerile anterioare, putem deduce faptul că 4 bytes pot reprezenta 2^32 = 4294967296 (2 la puterea 32) numere întregi distincte (jumătate fiind negative, iar jumătate pozitive). Din acest motiv apar şi acele limitări pentru câte numere pot fi reprezentate cu un anumit tip de date. Pur şi simplu nu sunt suficienţi biţi. Unde vreau să ajung cu asta? Nicăieri. Mi se pare doar util şi interesant să ştiţi ce se întâmplă în spatele codului pe care îl scriem. Revenind la discuţia noastră, în Python crearea unei variabile se realizează atunci când îi atribuim pentru prima dată o valoare. Tipul de date asociat acesteia va fi determinat de interpretator în momentul rulării. Acest lucru ne permite să reutilizăm numele unei variabile care a fost deja declarată cu un anumit tip de date şi să îi atribuim un cu totul alt tip. Pentru a crea o variabilă, folosim sintaxa: nume_variabila = valoare. Exemplu: x = 4 Atenţie! Numele unei variabile nu va avea niciodată ghilimele în jurul său, ghilimelele vor indica un alt tip de date numit string. Vom discuta despre şiruri de caractere (stringuri) în lecţia următoare. Pentru a verifica tipul unei variabile putem folosi functia type(nume_variabila), unde nume_variabila este numele variabilei al cărei tip vrem să îl aflăm. Tipurile de date standard in Python sunt: Numeric String (şir de caractere) Listă Tuplă Dictionar Set Astăzi vom discuta despre tipurile de date numerice. În mod evident, ele vor reprezenta valori numerice. Python 3 ne oferă suport pentru 3 tipuri de numere: int (numere întregi), float (numere reale, cu virgulă) şi complex (numere complexe). Mai mult, Python ne permite să schimbăm tipul de date oricând ne dorim. Tot ce trebuie să facem este să apelăm una dintre funcţiile built-in (preinstalate) cu numele specific tipului de date dorit. Exemplu: >>> x = 2.0 >>> type(x) <class 'float'> >>> x = int(x) >>> type(x) <class 'int'> Mai sus am creat o variabilă numită x cu valoarea 2.0. Am folosit apoi funcţia type() pentru a afla tipul de date. Apoi folosim funcţia int() pentru a converti valoarea de tip float a variabilei noastre într-una de tip int (număr întreg). Astfel am realizat conversia de la un număr float la un int. În mod similar, folosim funcţia float() pentru a converti un număr într-unul de tip float şi complex() pentru complex. Mai mult, convertirea tipului de date poate fi facută şi de la tipuri nenumerice precum un string (care contine touşi reprezentarea unui numar) folosind aceleaşi metode (mai multe despre asta în lecţia despre şiruri de caractere). Câteva funcţii şi operaţii built-in utile atunci când lucrăm cu numere sunt: 2 + 2 # suma a două numere 2 - 2 # diferenţa a două numere 2 * 3 # produsul a două numere 4 / 2 # împărţirea a două numere (returnează float, cu virgulă) 4 // 2 # împărţirea a două numere (returnează int, câtul obţinut în urma împărţirii cu rest) 4 % 2 # restul împărţirii celor două numere 2 ** 4 # ridicare la putere (2 la puterea 4) pow(2, 4) # ridicare la putere (identic cu metoda anterioară) min(2, 4) # minimul celor două numere max(2, 4) # maximul celor două numere abs(x) # valoarea numărului în modul round(x) # valoarea rotunjită a numărului Şi multe altele. Pentru a avea acces la şi mai multe funcţii şi constante matematice, avem la dispoziţie modulul math. Vom discuta însă despre module şi despre cum le putem folosi într-o lecţie viitoare. Cam atât pentru moment, sper că am fost suficient de clar. Dacă aveti orice fel de intrebare, puteţi să îmi scrieţi în comentarii, altfel pe data viitoare. Articol preluat de pe madalinfasie.ro
  2. Constructori, constante şi "this" | Partea 4 Salut, Astăzi vom vedea adevărata importanţă a constructorilor, vom afla cum putem declara constante şi vom încerca să înţelegem ce înseamnă this. Începem cu ce este mai uşor, anume constantele . Pentru a declara o constantă tot ce trebuie să facem este să specificăm cuvântul cheie final. Prin convenţie, toate constantele se scriu cu litere mari, iar dacă denumirea este formată din mai multe cuvinte, acestea se separa folosind caracterul underscore (_) . De exemplu: public final String NUME; public final String NUME_VARIABILA; Bun, acum să trecem la lucruri cu adevărat serioase. Aşa cum stiţi deja, un constructor este o metodă specială care se apelează de fiecare dată când este creat un obiect nou. Chiar dacă nu specificăm explicit un constructor, Java va construi obiectul folosind constructorul implicit (fără signatură, fără corp). Să vedem câteva exemple de constructori: public class Caine{ String nume; int inaltime; public Caine(){ nume = "Bobita"; inaltime = 15; } public Caine(String numeCaine){ nume = numeCaine; inaltime = 20; } public Caine(String numeCaine, int inaltimeCaine){ nume = numeCaine; inaltime = inaltimeCaine; } public void afiseazaInformatii(){ System.out.println("Cainele " + nume + " are inaltimea " + inaltime + "."); } } public class ClasaPrincipala{ public static void main(String[] args){ Caine bobita = new Caine(); Caine pluto = new Caine("Pluto"); Caine zorro = new Caine("Zorro", 25); bobita.afiseazaInformatii(); // Afişează: Cainele Bobita are inaltimea 15. pluto.afiseazaInformatii(); // Afişează: Cainele Pluto are inaltimea 20. zorro.afiseazaInformatii(); // Afişează: Cainele Zorro are inaltimea 25. } } Observăm că deşi toate au acelaşi nume, Java reuşeşte să îşi dea seama despre ce constructor este vorba în funcţie de numărul de parametri pe care îl oferim. Bineînţeles, dacă scriem, de exemplu: Caine fuls = new Caine("Fuls", 60, 32); // sau Caine patrocle = new Caine("Patrocle", "30 centimetri"); vom primi o eroare în ambele cazuri deoarece nu am definit nici un constructor care să aibă trei parametri sau vreun constructor care să primească ambii parametri de tip String. Atenţie: am spus mai sus că dacă nu specificăm nici un constructor pentru o clasă, atunci va fi folosit constructorul implicit: public Caine(){ } Cu toate acestea, dacă avem de exemplu, doar constructorul public Caine(String numeCaine){ nume = numeCaine; inaltime = 20;} iar constructorul fără nici un parametru nu este specificat, atunci, dacă încercăm să instanţiem un nou obiect astfel: Caine bobita = new Caine(); se va returna o eroare întrucât nu există nici un constructor fără nici un parametru. Altfel spus, constructorul implicit este folosit numai în cazul în care nici un alt constructor nu este definit. Ok, a mai rămas doar să discutăm despre this. Formal, acest cuvânt ţine locul obiectului creat folosind clasa în care se află acesta. De exemplu: public class Caine{ String nume; int inaltime; public Caine(String nume, int inaltime){ this.nume = nume; this.inaltime = inaltime; } } Dacă instanţiem un obiect folosind acest constructor, vom obtine acelaşi rezultat ca în exemplul de mai sus (un obiect câine cu numele şi înălţimea specificate ca parametri). Diferenţa este că, de această dată, parametrii au aceeaşi denumire cu cea a câmpurilor. Astfel, pentru a diferenţia între variabilele locale (parametri) şi câmpurile clasei, vom accesa câmpurile din interiorul unui obiect, la fel cum am face într-o altă clasă. Bineînţeles, obiectul respectiv trebuie să fie o instanţă a clasei în care ne aflăm (pentru că vrem să modificăm câmpurile sale). Acest obiect care reprezintă clasa în care ne aflăm este denumit this şi este disponibil în mod implicit în fiecare clasă pe care o creăm. Aceasta este cea mai răspândită şi uşor de înţeles utilizare a cuvântului cheie this. Avantajul unei astfel de scrieri este că, pe de o parte, delimitarea dintre câmpuri şi variabilele locale este bine reprezentată, iar pe de cealaltă parte, parametrii având aceeaşi denumire cu atributele clasei, fac citirea şi înţelegerea codului mult mai uşoară. Totuşi aceste motive poate pot parea nesimnificative sau nu suficiente pentru a vă convinge de importanţa acestui cuvânt cheie. Din acest motiv, voi prezenta încă două exmple în care utilizarea obiectului this este cu adevărat folositoare. Prima astfel de utilizare este atunci când ne dorim să apelăm un constructor din interiorul altui constructor. De exemplu: public class Caine{ String nume; int inaltime; public Caine(){ this("Bobita", 15); // se va apela constructorul cu doi parametri definit mai jos } public Caine(String numeCaine, int inaltimeCaine){ nume = numeCaine; inaltime = inaltimeCaine; } } public class ClasaPrincipala{ public static void main(String[] args){ Caine bobita = new Caine(); bobita.afiseazaInformatii(); // Afişează: Cainele Bobita are inaltimea 15. } } Cea de-a doua utilizare este atunci când ne dorim să pasăm obiectul clasei în care ne aflăm într-o metodă a unui alt obiect. De exemplu: public class Caine{ private String nume; private Animal animal = new Animal(); public Caine(){ this.nume = "Bobita"; } public String returneazaNume(){ return animal.getNumeCaine(this); } public String getNume(){ return this.nume; } } public class Animal{ public String getNumeCaine(Caine caine){ return caine.getNume(); } } public class ClasaPrincipala{ public static void main(String[] args){ Caine bobita = new Caine(); System.out.println(bobita.returneazaNume()); // Afişează: Bobita } } Acest exemplu este un pic mai încurcat, dar nu imposibil de înţeles. În clasa Animal avem o singură metodă care primeste drept parametru un obiect de tip Caine şi returnează numele câinelui folosind metoda getName() prezenta în clasa Caine. În clasa Caine, instanţiem un nou obiect de tip Animal. Apoi, tot în aceasta, definim o metodă returneazaNume() care va returna rezultatul metodei getNumeCaine() din clasa Animal. Totuşi, această metodă primea ca parametru un obiect de tip Caine. Ca să satisfacem această cerinţă, vom pasa cuvântul cheie this care ţine locul unui obiect de tipul clasei în care ne aflăm. În final obţinem numele câinelui nostru. Cam atât pentru astăzi, sper că am fost suficient de clar, dacă aveţi orice fel de întrebări, nu ezitaţi să le scrieţi în comentarii, dacă nu, pe data viitoare. Sursa: madalinfasie.ro
×
×
  • Create New...