03. 03. 2009. | #11 |
dinosaurus
Master
Datum učlanjenja: 29.12.2005
Lokacija: Nova Engleska
Poruke: 636
Hvala: 79
263 "Hvala" u 66 poruka
|
@ Python Zealot
Da se razumemo, ja u stvari više volim Python, samo govorim sa stanovišta učenja OOP-a. 1) U Rubiju je sve objekat, čak i brojevi. U Pythonu je vidljiva razlika između ugrađenih i korisničkih tipova. 2) Podrška za privatne članove koja je u Python-u više stvar konvencije 3) Sintaksa: "self" u Pythonu kod poziva metoda. |
"Hvala" Dragi Tata za poruku: |
04. 03. 2009. | #12 |
I'm a PC too.
Wrote a book
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
|
Pa sad.. da li je prirodnije i razumljivije da brojevi budu brojevi ili tamo neki.. objekti?
__________________
Commercial-Free !!! Poslednja izmena od degojs : 04. 03. 2009. u 03:28. |
2 članova zahvaljuje degojs za poruku: |
04. 03. 2009. | #13 | |
nobody
Expert
Datum učlanjenja: 19.04.2007
Poruke: 537
Hvala: 14
705 "Hvala" u 106 poruka
|
Citat:
Uostalom, čini mi se kad god se pominje to sa brojevima, to je da bi se naglasilo da je Ruby do temelja objektno orjentisan. Ne vidim šta tu može praktično da pravi problem kad treba da sedneš nešto da kodiraš. Mada može i stojeći, ako imaš odgovarajući sto. Lična nota: ja sam Ruby učio kao, praktično, totalni početnik u programiranju, ako izuzmemo NAR-1 i 2, nekakav teorijski (papirni) Basic, nešto malo shell skriptovanja i povremeno očijukanje (bez pipanja) sa kodom u nekim drugim jezicima. Ne tvrdim da sam nešto mnogo napredovao, ali nisu brojevi ono što mi je možda bilo teško da razumem. Poslednja izmena od nn.nn : 04. 03. 2009. u 08:54. |
|
04. 03. 2009. | #14 | |
old school
Professional
Datum učlanjenja: 07.02.2006
Poruke: 340
Hvala: 32
44 "Hvala" u 20 poruka
|
Citat:
Broj (ili da budemo precizniji, instanca broja) je odličan primer objekta: * ima stanje (vrednost), koje je u ovom slučaju nepromenljivo, google:"immutable object" * ima ponašanje izgrađeno oko tog stanja (koristi ga i zavisi i od njega, dobar primer su aritmetičke operacije) * ima hijerarhiju (Float, Integer...) Poslednja izmena od kaizen : 04. 03. 2009. u 10:53. |
|
04. 03. 2009. | #15 |
Knowledge base
Wrote a book
Datum učlanjenja: 07.06.2005
Lokacija: Neđe ođe...
Poruke: 1.197
Hvala: 339
688 "Hvala" u 178 poruka
|
Nije u tome poenta... Prirodnije je da broj bude broj jer smo ih tako naučili još prije osnovne škole, jednako kao što je prirodnije za biologa da ljude s kojima svakodnevno komunicira posmatra kao ljude a ne kao žive organizme koji stupaju u interakciju, ili kao što je nekom banderašu jednostavnije da posmatra struju kao struju a ne kao sinusoidalne oscilacije elektrona duž provodnika... Broj je broj
__________________
Чак Норис може да си ги врзе врвките на чевлите со стапалата. |
04. 03. 2009. | #16 |
old school
Professional
Datum učlanjenja: 07.02.2006
Poruke: 340
Hvala: 32
44 "Hvala" u 20 poruka
|
|
04. 03. 2009. | #17 |
Ivan Dilber
Sir Write-a-Lot
|
njah, a jel prirodnije onda da string bude niz slova, a ne objekat? I niz isto tako, zasto je prirodnije da je niz objekat nego da je broj objekat?
osnovna OOP ideja je da svaki komad informacije ume sam da se snadje sa svojim vrednostima, bez da neko sa strane petlja po tome direktno, i po toj logici najnormalnija je ideja da svi tipovi podataka treba da budu objekti, sa geterima i seterima i pridruzenim metodama koje handluju operacije nad njihovim vrednostima..
__________________
Leadership is the art of getting people to want to do what you know must be done. |
04. 03. 2009. | #18 | |
Python Ambassador
Master
|
Citat:
Kôd:
In [1]: broj = -5 In [2]: broj. broj.__abs__ broj.__int__ broj.__reduce_ex__ broj.__add__ broj.__invert__ broj.__repr__ broj.__and__ broj.__long__ broj.__rfloordiv__ broj.__class__ broj.__lshift__ broj.__rlshift__ broj.__cmp__ broj.__mod__ broj.__rmod__ broj.__coerce__ broj.__mul__ broj.__rmul__ broj.__delattr__ broj.__neg__ broj.__ror__ broj.__div__ broj.__new__ broj.__rpow__ broj.__divmod__ broj.__nonzero__ broj.__rrshift__ broj.__doc__ broj.__oct__ broj.__rshift__ broj.__float__ broj.__or__ broj.__rsub__ broj.__floordiv__ broj.__pos__ broj.__rtruediv__ broj.__getattribute__ broj.__pow__ broj.__rxor__ broj.__getnewargs__ broj.__radd__ broj.__setattr__ broj.__hash__ broj.__rand__ broj.__str__ broj.__hex__ broj.__rdiv__ broj.__sub__ broj.__index__ broj.__rdivmod__ broj.__truediv__ broj.__init__ broj.__reduce__ broj.__xor__ In [2]: broj.__abs__() Out[2]: 5 In [3]: abs(broj) Out[3]: 5 In [4]: broj.__abs__? Type: method-wrapper Base Class: <type 'method-wrapper'> String Form: <method-wrapper '__abs__' of int object at 0x002D7F68> Namespace: Interactive Docstring: x.__abs__() <==> abs(x)
__________________
Python Ambassador of Serbia |
|
04. 03. 2009. | #19 | |
Knowledge base
Wrote a book
Datum učlanjenja: 07.06.2005
Lokacija: Neđe ođe...
Poruke: 1.197
Hvala: 339
688 "Hvala" u 178 poruka
|
Citat:
A tvojom logikom je prirodnije da pišem 2.increaseValue(2) nego 2+2 I nemoj da si pomenuo operatore i overloading i ostalo, 2+2 je 2+2 i neću ni da razmišljam o tome Htjedoh reći da je, kad unaprijediš svoje znanje u bilo kojoj oblasti, moguće to znanje primijeniti i na svakodnevni život i redefinisati shvatanje davno usvojenih stvari, ali da je često znatno jednostavnije držati se starog znanja. Možeš npr. imati doktorat iz dinamike fluida ali ne znači da ćeš efikasnije napuniti čašu vode ako koristiš Stoksovu formulu i Bernulijevu jednačinu, samo ćeš izgubiti vrijeme.
__________________
Чак Норис може да си ги врзе врвките на чевлите со стапалата. |
|
04. 03. 2009. | #20 |
Python Ambassador
Master
|
Evo još jednog, boljeg, dokaza da broj zaista jeste objekat:
Kôd:
In [1]: type(5) Out[1]: <type 'int'> In [2]: isinstance(5, object) Out[2]: True In [3]: issubclass(int, object) Out[3]: True
__________________
Python Ambassador of Serbia |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Java programiranje | misha topola | Programiranje | 10 | 13. 01. 2011. 14:33 |
vb programiranje | bonkic | Programiranje | 2 | 12. 09. 2010. 16:31 |
Internet Programiranje | marevuksa | Sva početnička pitanja | 7 | 08. 10. 2007. 10:29 |
Programiranje RIA | MrSteel | Programiranje | 11 | 15. 05. 2007. 14:17 |