Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Pareri magazin online quickmobile?

Unde gasesc banane albastre?

Despre compania de aministrare Sq...

Durere taietura deget dupa 2 luni
 Dalți gravare lemn

Didgeridoo

Motorola Edge 50 Ultra

Gaura perete apartament cu evitar...
 Orientare antena prime focus

Problema conectare mail yahoo

comisioane asociatie proprietari

Primul sistem de televiziune cu p...
 Internetul este neutilizabil fara...

Eroare cloud burn icopy face id

DermaRoller ce este ?

Articole limba Germana
 

Introducere în POO

- - - - -
  • Please log in to reply
17 replies to this topic

#1
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,231
  • Înscris: 24.02.2007
Am realizat un tutorial introductiv sub forma unor slide-uri.

Disponibil aici

Să curgă cu păreri, observații, nelămuriri.

Edited by dani.user, 28 November 2015 - 19:30.


#2
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
La exemplul cu acel polimorfism in C as adauga aspectul compatibilitatii binare: cele doua structuri pot fi interschimbate deoarece au acelasi layout in memorie - folosirea termenului ABI nu ar strica.

Cand il introduci pe this, merita sa spui ca in varianta C, il pasai pe this manual (si duplicat de fiecare data), aveai obj->function(obj, anotherParam);

Edited by OriginalCopy, 28 November 2015 - 20:58.


#3
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,662
  • Înscris: 29.08.2013

View PostOriginalCopy, on 28 noiembrie 2015 - 20:03, said:

Corect este "o data".

https://diacritica.w...9/odata-o-data/

#4
adrian93

adrian93

    Active Member

  • Grup: Members
  • Posts: 1,740
  • Înscris: 29.10.2009
Îmi place foarte mult faptul că abordarea e una constructivistă: pornești de la C, adaugi treptat încapsulare și vtable, iar apoi ajungi la C++. O mică sugestie ar fi ca la C++ la vtable să faci și o comparație între dimensiunea unei structuri / clase și dimensiunea ei având o funcție virtuală.

Un mic typo: "liste înlânțuite?" slide-ul 24.
+1 pentru beamer.

#5
m3th0dman

m3th0dman

    Senior Member

  • Grup: Senior Members
  • Posts: 9,269
  • Înscris: 03.01.2007
Mie mi se pare că mai mult axat pe C++ decât pe OOP în general. Am văzut detalii despre vtable și destructori, dar n-am văzut despre interfețe și diferența între moștenire de interfață sau de implementare, despre compoziție ca alternativă preferată la moștenire, despre moștenirea multiplă, problema diamant și cum se rezolvă în C++.

Având în vedere că e destul de mult cod ce cred că ar fi util, ar fi să arați cum ai scrie cod procedural (if-else) și cum ar fi o soluție OOPish (cu subclase).

Și ca design patterns, mi se par mai utili Strategy, Command, Observer, Factory decât Iterator care e mai mult folosit în librării decât în cod normal (dpmdv).

Great job! Posted Image

#6
aaaa4567

aaaa4567

    Senior Member

  • Grup: Senior Members
  • Posts: 9,494
  • Înscris: 18.10.2011
In ce e facut? Ca am mai vazut stilul si n-am stiut de unde sa-l iau...

LE: da, am vazut ceva: beamer :)

Edited by aaaa4567, 03 December 2015 - 18:22.


#7
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
TeX / LaTeX, limbaj pentru tipografie folosit in special in mediul academic de peste 30 de ani.

Ideal pentru crearea de documente profesionale, tipografiate corect.

#8
aaaa4567

aaaa4567

    Senior Member

  • Grup: Senior Members
  • Posts: 9,494
  • Înscris: 18.10.2011
Mai poti sa mai pui ceva si despre composability /favor composition over inheritance. OOP si tight coupling fata de platforma.
Cat si despre slabiciunile OOP in general. Frumos in teorie dar tricky in practica. Uneori prea tricky.
In primul rand, destul de putina lume mai foloseste C-ul in programarea mainstream (desi e inca ultrafolosit). Poate era utila o abordare in Java etc. Insa mi se pare abordabil (cel putin inceputul). Daca poti sa scoti slideurile ce se repeta (fara acele randuri puse incremental)

View PostOriginalCopy, on 03 decembrie 2015 - 18:42, said:

TeX / LaTeX, limbaj pentru tipografie folosit in special in mediul academic de peste 30 de ani.

Ideal pentru crearea de documente profesionale, tipografiate corect.
Da, de Latex stiu.
Poti insa edita vizual?

#9
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postaaaa4567, on 03 decembrie 2015 - 18:46, said:

Poti insa edita vizual?
Lucrurile vizuale sunt limitate. LaTeX nu se adreseaza unui astfel de tip de public.

Edited by OriginalCopy, 03 December 2015 - 18:48.


#10
aaaa4567

aaaa4567

    Senior Member

  • Grup: Senior Members
  • Posts: 9,494
  • Înscris: 18.10.2011

View PostOriginalCopy, on 03 decembrie 2015 - 18:48, said:

Lucrurile vizuale sunt limitate. LaTeX nu se adreseaza unui astfel de tip de public.
Eh... Inteleg sa editezi asa formule matematice mai complicate (integrale, poate chiar fractii), dar altfel...
Pentru ce? Ma apuc sa scriu asa un rtf? Ma apuc sa scriu un word in xml? Am uitat de wysiwyg?
Am nevoie de viteza (pentru sliedurile alea), si numai cand e nevoie de tweaking...

Uite de ex. asta: nu am testat, am cautat: http://www.bakoma-tex.com/

Edited by aaaa4567, 03 December 2015 - 20:00.


#11
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,231
  • Înscris: 24.02.2007

View Postm3th0dman, on 03 decembrie 2015 - 00:09, said:

Mie mi se pare că mai mult axat pe C++ decât pe OOP în general. Am văzut detalii despre vtable și destructori, dar n-am văzut despre interfețe și diferența între moștenire de interfață sau de implementare, despre compoziție ca alternativă preferată la moștenire, despre moștenirea multiplă, problema diamant și cum se rezolvă în C++.

Despre respectivele n-au decat sa citeasca cand aprofundeaza OOP (in C++).

View Postm3th0dman, on 03 decembrie 2015 - 00:09, said:

Și ca design patterns, mi se par mai utili Strategy, Command, Observer, Factory decât Iterator care e mai mult folosit în librării decât în cod normal (dpmdv).

Multe sunt utile, dar cele mentionate nu cred ca fi intelese prea usor cei vizati de prezentare. Iterator mi s-a parut mult mai optim ca utilitatea/usurinta in intelegere.

View Postm3th0dman, on 03 decembrie 2015 - 00:09, said:

Great job! Posted Image

Mersi

View Postaaaa4567, on 03 decembrie 2015 - 18:46, said:

In primul rand, destul de putina lume mai foloseste C-ul in programarea mainstream (desi e inca ultrafolosit). Poate era utila o abordare in Java etc. Insa mi se pare abordabil (cel putin inceputul). Daca poti sa scoti slideurile ce se repeta (fara acele randuri puse incremental)

Nu e vorba de programare mainstream. Multi incepatori incep cu un limbaj procedural (cum Pascal e cam mort, ramane C). Toata ideea a fost sa arat cum se poate face trecerea de la ce stiu deja multi, la ceva nou, sa arat cum multe lucruri sunt interconectate in IT si, mai ales, cum OOP nu depinde de un limbaj anume.

Daca prezentam OOP direct in Java ajungeau toti sa vada din asta un fel de univers paralel, fara nici o legatura cu cele deja cunoscute. La ce conducea asta? La celebrele "programator web vs programator [insert alta tehnologie here]", "ce-i vechi nu se mai aplica" si alte asemenea.

View Postaaaa4567, on 03 decembrie 2015 - 19:55, said:

Pentru ce? Ma apuc sa scriu asa un rtf? Ma apuc sa scriu un word in xml? Am uitat de wysiwyg?

E exagerata comparatia cu rtf sau openxml. Cea mai apropiata  comparatie e cu banalul HTML. Cati oameni seriosi prefera in ziua de azi sa scrie propriul markup HTML VS a se baza pe ce genereaza vreun IDE? Foarte multi...

Edited by dani.user, 08 December 2015 - 20:08.


#12
aaaa4567

aaaa4567

    Senior Member

  • Grup: Senior Members
  • Posts: 9,494
  • Înscris: 18.10.2011

View Postdani.user, on 08 decembrie 2015 - 20:07, said:

E exagerata comparatia cu rtf sau openxml. Cea mai apropiata  comparatie e cu banalul HTML. Cati oameni seriosi prefera in ziua de azi sa scrie propriul markup HTML VS a se baza pe ce genereaza vreun IDE? Foarte multi...

Ideea e ca html e chiar cunoscut de orice programator, latex mai putin. Da, stiu, in 10 secunde am si aflat cum se face un tabel in latex, si... e asemanator: http://www.latex-tut...s/latex-tables/
Ca si multe https://en.wikipedia...markup_language

OK, dar nu le stiu pe dinafara, nu le am la degetul mic. Chiar si asa, daca nu editez cu lunile un html, eu nu mai tin minte exact cele 3 taguri pt cell, header etc. Ma rog.

LE: acum ce facem, stim si svg, biblioteci (raphaeljs.com etc) , si http://www.latex-tut...ed/latex-tikz/.

E buna diversitatea, pana la un punct. Desi recunosc ca lucrurile sunt simple.

Stau sa ma gandesc de limitarile cumva artificiale (intarzierea cu care s-au introdus unele features absolut banale in noul HTML) si toate artificiile ce au trebuit create prin alte limbaje, biblioteci etc Incepand cu renumitele java applets, si ele antice Posted Image

Edited by aaaa4567, 10 December 2015 - 23:44.


#13
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Html nu stie reguli de tipografiere. LaTeX tot invata si se finiseaza in aceasta privinta de vreo 30 de ani.

Cu 30 de ani de evolutie intr-un domeniu nu te pui.

Un lucru e imbucurator: dani.user a creat o prezentatie care e atat de ok, incat nu avem ce vorbi despre ea, vorbim mai degraba despre tehnoredactarea ei. Good job dani! Posted Image

#14
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014
Daca tot e in C/C++ de ce nu e pusa la resurse la rubrica de C/C++ ?

#15
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,231
  • Înscris: 24.02.2007
Fiindca nu are ca scop invatarea C/C++ ci prezentarea unor concepte universale ce se intampla sa fie exemplificate in C/C++.

#16
VladBtz

VladBtz

    Active Member

  • Grup: Members
  • Posts: 1,702
  • Înscris: 24.09.2014
Cui i se adreseaza exact aceasta prezentare ?

#17
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,231
  • Înscris: 24.02.2007
Celor ce vor sa faca saltul de la procedural la OOP (sau celor simt ca n-or inteles nimic din cum au abordat pana acum OOP).

#18
Ro_Probe

Ro_Probe

    New Member

  • Grup: Members
  • Posts: 5
  • Înscris: 24.02.2008
dani.user poti, te rog, sa reactualizezi link-ul pentru tutorialul de sus?

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate