Go minic sa teagasc seo chonaiceamar an @
, anois tá sé in am caint faoi ciorcal@stáitse
agus slánuimh_rand@mata
. Chun na sloinn sin a thuiscint, is gá dúinn foghlaim faoi
Is féidir leat smaoinigh faoi mar
Abair go raibh oibiacht againn a aois
seoladh
Is féidir iompraíochtaí speisialta a bheith ag oibiachtaí freisin, ach feicimid níos mó faoi sin níos déanaí ar an leathanach seo.
Conas a úsáidimid oibiachtaí?, ba chóir dúinn an siombail @
a úsáid!
@
?Nuair ba mhaith linn ball oibiachta a roghnú, bainimid úsáid as an tsiombail @
agus ainm an bhaill mar seo:
<ainm an bhaill>@<an oibiacht>
crann
, agus tá ball aige airde
airde@crann
chun airde an chrainn a fháil.
Nuair a scríobhaimid ciorcal@stáitse
táimid ag iarraidh ar Setanta “Faigh luach an bhaill ciorcal
ón oibiacht stáitse
.”. Dá bhrí sin nuair a scríobhaimid ciorcal@stáitse(x, y, ga)
táimid ag roghnú an gníomh ciorcal
ón oibiacht stáitse
agus ag glaoch air (le x
, y
agus ga
mar athróga).
Is féidir linn an ciorcal@stáitse(200, 200, 100)
a @
chun an gníomh ciorcal
a roghnú, tar éis é sin glaofaimid air.
Cuirimis an gníomh ciorcal
in athróg mar seo:
Anois is féidir linn glaoch air:
Bain triail as anseo:
Chun oibiacht a chruthú tá rud uainn
Mar shampla is féidir linn creatlach a chruthú a
Cad é creatlach? Is
Úsáidimid an creatlach
chun creatlach a chruthú mar seo:
Mar shampla: Seo creatlach Simplí
Cruthaíonn sé sin gníomh Simplí
: Nuair a ghlaoitear ar an ngníomh sin cruthaíonn sé oibiacht ón gcreatlach. Seo sampla:
>-- Creatlach nua gan ghníomartha.
creatlach Simplí {
}
>-- Cruthaigh oibiacht ón gcreatlach.
oibiacht_simplí := Simplí()
Chruthaíomar oibiacht nua, ach is oibiacht an-simplí é gan dabht: Níl aon baill aige. Anois cuirimis ball nua ár_mball
isteach san oibiacht. Déanaimid é sin díreach mar a chuirimid luach nua in athróg: leis an =
.
>-- Creatlach nua gan ghníomartha.
creatlach Simplí {
}
>-- Cruthaigh oibiacht ón gcreatlach.
oibiacht_simplí := Simplí()
>-- Cuir ball leis an oibiacht.
ár_mball@oibiacht_simplí = "Ár mball nua"
Anois tá ball ag an oibiacht. Thugamar ár_mball
air agus tá an luach "Ár mball nua"
aige. Is féidir é a roghnú le ár_mball@oibiacht_simplí
.
>-- Creatlach nua gan ghníomartha.
creatlach Simplí {
}
>-- Cruthaigh oibiacht ón gcreatlach.
oibiacht_simplí := Simplí()
>-- Cuir ball leis an oibiacht.
ár_mball@oibiacht_simplí = "Ár mball nua"
scriobh(ár_mball@oibiacht_simplí)
Bain triail as!
Athraigh an cód seo
Ag an bpointe seo b’fhéidir go bhfuil tú
Smaoinigh faoi seo: Ba mhaith linn ríomhchlár a chruthú a dhéanann é seo: Ciorcal a tharraingt ar an stáitse,
Ar dtús, cruthóimid creatlach folamh Ciorcal
agus gníomh déan_ciorcal
a dhéanann oibiacht ón gcreatlach Ciorcal
agus a chuireann x
, y
, ga
agus dath
.
>-- Creatlach folamh.
creatlach Ciorcal {
}
gníomh déan_ciorcal(x, y, ga, dath) {
>-- Cruthaigh ciorcal folamh.
c := Ciorcal()
>-- Cuir na luachanna san oibiacht.
x@c = x
y@c = y
ga@c = ga
dath@c = dath
>-- Tabhair an ciorcal ar ais.
toradh c
}
Anois is féidir linn trí ghníomh a chruthú. Ceann amháin chun an ciorcal a tharraingt, ceann eile chun achar an chiorcail a
>-- Tarraing an ciorcal.
gníomh tarraing(ciorc) {
>-- Athraigh dath an phinn.
dath@stáitse(dath@ciorc)
>-- Tarraing an ciorcal leis an x comhordanáid, y comhordanáid agus an ga.
ciorcal@stáitse(x@ciorc, y@ciorc, ga@ciorc)
}
>-- Ríomh an t-achar. (achar = pi * ga^2).
gníomh achar(ciorc) {
toradh pi@mata * ga@ciorc * ga@ciorc
}
>-- Ríomh an t-imlíne. (imlíne = 2 * pi * ga).
gníomh imlíne(ciorc) {
toradh 2 * pi@mata * ga@ciorc
}
Anois is féidir linn ár ngníomh a úsáid chun an ciorcal a cruthú, agus na trí ghníomh eile chun é a tharraingt agus chun a achar agus imlíne a ríomh.
c := déan_ciorcal(100, 100, 50, "dearg")
tarraing(c)
scríobh("Achar: ", achar(c))
scríobh("Imlíne: ", imlíne(c))
Bain triail as an ríomhchlár iomlán anois! Athraigh go dtí an
Sa ríomhchlár sin d’úsáideamar oibiachtaí chun cód níos simplí a chruthú, d’fhéadamar athróg amháin (an oibiacht) a úsáid in ionad 4 athróg eile (x, y, ga agus dath). Ach is féidir le oibiachtaí a lán níos mó a dhéanamh.
Bhí an
Anois féachfaimid ar iompraíocht na hoibiachta agus an liosta gníomhartha is féidir linn a scríobh sa chreatlach.
Ar dtús féachfaimid ar an ngníomh tarraing
. Is féidir linn an gníomh sin a bhogadh isteach sa chreatlach Ciorcal
:
>-- Creatlach folamh.
creatlach Ciorcal {
>-- Tarraing an ciorcal.
gníomh tarraing(ciorc) {
>-- Athraigh dath an phinn.
dath@stáitse(dath@ciorc)
>-- Tarraing an ciorcal leis an x comhordanáid, y comhordanáid agus an ga.
ciorcal@stáitse(x@ciorc, y@ciorc, ga@ciorc)
}
}
Anois nuair a cruthaímid oibiacht ón gcreatlach Ciorcal
, beidh an gníomh tarraing
ina bhall. Mar shampla, ba fhéidir linn é a roghnú mar seo:
Ansin is féidir linn glaoch air mar a rinneamar roimhe:
Oibríonn an cód seo, bain triail as:
tarraing@c(c)
. Bhí orainn c
a úsáid faoi dhó. An bhfuil bealach níos fearr ann? Tá! Is féidir linn an seo
Nuair a bhaineann tú úsáid as creatlach chun oibiacht a chruthú, tugaimid “tarraing@c
), tá an gníomh sin seo
a úsáid chun sochar a bhaint as an nasc sin.
Nuair a cruthaímid gníomh i gcreatlach, (díreach mar a rinneamar le tarraing
thuas) is féidir linn seo
a úsáid Tá sé seo an-chasta, mar sin féachfaimid ar sampla chun na
Smaoinigh faoin ghníomh tarraing
arís:
>-- Creatlach folamh.
creatlach Ciorcal {
>-- Tarraing an ciorcal.
gníomh tarraing(ciorc) {
>-- Athraigh dath an phinn.
dath@stáitse(dath@ciorc)
>-- Tarraing an ciorcal leis an x comhordanáid, y comhordanáid agus an ga.
ciorcal@stáitse(x@ciorc, y@ciorc, ga@ciorc)
}
}
Is féidir linn an argóint ciorc
a seo
a úsáid
>-- Creatlach folamh.
creatlach Ciorcal {
>-- Tarraing an ciorcal.
gníomh tarraing() {
>-- Athraigh dath an phinn.
dath@stáitse(dath@seo)
>-- Tarraing an ciorcal leis an x comhordanáid, y comhordanáid agus an ga.
ciorcal@stáitse(x@seo, y@seo, ga@seo)
}
}
Cad a tharlaíonn anois nuair a ghlaoimid ar an ngníomh sin mar seo (gan an argóint):
Nuair a roghnaítear tarraing
le tarraing@c
cruthaítear nasc idir an eochairfhocail seo
i gcorp an ghnímh agus an oibiacht san athróg c
.
Anois nuair a ritear an gníomh, tá seo
cothrom leis an oibiacht i c
agus oibríonn an gníomh díreach mar a oibríonn sé nuair a bhí argóint aige.
Anois is féidir linn na gníomhartha achar
agus imlíne
a athrú go tarraing
. Ba chóir dúinn iad a bhogadh isteach sa seo
a úsáid in ionad an t-aon argóint atá acu:
>-- Creatlach folamh.
creatlach Ciorcal {
>-- Tarraing an ciorcal.
gníomh tarraing() {
>-- Athraigh dath an phinn.
dath@stáitse(dath@seo)
>-- Tarraing an ciorcal leis an x comhordanáid, y comhordanáid agus an ga.
ciorcal@stáitse(x@seo, y@seo, ga@seo)
}
>-- Ríomh an t-achar. (achar = pi * ga^2).
gníomh achar() {
toradh pi@mata * ga@seo * ga@seo
}
>-- Ríomh an t-imlíne. (imlíne = 2 * pi * ga).
gníomh imlíne() {
toradh 2 * pi@mata * ga@seo
}
}
Anois is féidir linn achar@c()
agus imlíne@c()
a úsáid in ionad achar(c)
agus imlíne(c)
.
c := déan_ciorcal(100, 100, 50, "dearg")
tarraing@c()
scríobh("Achar: ", achar@c())
scríobh("Imlíne: ", imlíne@c())
Bain triail as an gcód anois:
Anois tá gach gníomh istigh sa chreatlach Ciorcal
ach an gníomh déan_ciorcal
, an féidir linn an gníomh sin a athrú go gníomh creatlaí? Is féidir linn!
I ngach creatlach is féidir linn gníomh speisialta a chruthú, tugaimid cruthaitheoir ar an ngníomh sin. Glaoitear ar an ngníomh sin gach uair a chruthaítear oibiacht nua ón gcreatlach.
Chun cruthaitheoir a dhéanamh, ba chóir dúinn gníomh a chuir sa chreatlach leis an ainm nua
. Ansin nuair a chruthaíonn tú oibiacht ón gcreatlach (m.sh. c := Ciorcal()
), glaoitear ar an gníomh nua
.
Cruthaímis creatlach anois a sheasann do duine, tugaimis Duine
air.
Anois cuirimis cruthaitheoir isteach (gníomh nua
). Glacfaidh sé le argóint amháin: ainm an úsáideora.
Anois cuirimis píosa cód isteach a scríobhann ainm an úsáideora nuair a ghlaoitear ar an gcruthaitheoir:
Cruthaímis oibiacht nua anois ón gcreatlach. Caithfimid argóint a thabhairt nuair a glaoimid ar Duine()
mar glacann an cruthaitheoir le argóint amháin.
Bain triail as an gcód anois. Ba chóir go feicfidh tú “Cruthaíodh duine: Eoin” ar an gconsól.
Toisc gur chonaiceamar cruthaitheoirí, is féidir linn an gníomh déan_ciorcal
a scriosadh. In ionad an gníomh sin bainfimid úsáid as cruthaitheoir chun x
, y
, ga
agus dath
an ciorcail a stóráil san ásc atá á chruthú againn.
Seo é ár gcruthaitheoir:
Cuirimis an cruthaitheoir sin sa chreatlach Ciorcal
, agus scriosaimis an gníomh déan_ciorcal
go hiomlán. Anois nuair ba mhaith linn ásc Ciorcal
a chruthú is féidir linn an gníomh Ciorcal(x, y, ga, dath)
a úsáid go díreach. Mar shampla:
Anois seo é ár ríomhchlár:
Chonaiceamar anseo gur féidir linn oibiachtaí a úsáid chun cód níos deise a scríobh, ach tá siad i bhfad
I Setanta, is féidir le creatlach amháin
Tá sé a lán níos soiléire le sampla:
Féach anois ar an gcreatlach seo:
Níl ach gníomh amháin aige (bog
) agus nuair a ghlaoitear air, scríobhann sé “Táim ag bogadh” ar an gconsól.
Anois cruthaímis creatlach nua Madra
atá ina pháiste-creatlach do Ainmhí
. Úsáidimid an eochairfhocail ó
Níl aon iompraíocht ag Madra
go díreach, ach toisc go bhfuil sé ina pháiste d’Ainmhí
, faigheann sé an gníomh bog
le hoidhreacht. Chun é sin a fheiceáil cruthaímis ásc Madra
agus glaoimid ar bog
leis.
creatlach Ainmhí {
gníomh bog() {
scríobh("Táim ag bogadh")
}
}
creatlach Madra ó Ainmhí {
}
m := Madra()
bog@m()
Bain triail as:
Ba chóir go bhfaca tú “Táim ag bogadh” ar an gconsól.
Is féidir linn gníomhartha a chuir sa chreatlach Madra
go díreach freisin, mar seo:
creatlach Ainmhí {
gníomh bog() {
scríobh("Táim ag bogadh")
}
}
creatlach Madra ó Ainmhí {
gníomh ith() {
scríobh("Is aoibhinn liom ispíní")
}
}
m := Madra()
bog@m()
Anois scríobhann ith@m()
“Is aoibhinn liom ispíní” ar an gconsól. Táimid in ann páiste-creatlach eile a chruthú ó Ainmhí
arís:
creatlach Ainmhí {
gníomh bog() {
scríobh("Táim ag bogadh")
}
}
creatlach Madra ó Ainmhí {
}
creatlach Cat ó Ainmhí {
}
m := Madra()
bog@m()
c := Cat()
bog@c()
Tá an gníomh bog
ag an gcat freisin, bain triail as an gcód:
Is féidir linn oidhreacht a úsáid chun gníomhartha a roinnt le go leor creatlacha, nach bhfuil sé sin an-úsáideach!
tuis
Tá eochairfhocail eile ag Setanta, tuis
. Is féidir linn tuis
a úsáid chun gníomhartha an tuismitheoir-creatlaigh a roghnú.
Smaoinigh faoin gcód seo:
Tá creatlach sa ríomhchlár sin a
Samhlaigh anois go bhfuil saghas cáca eile againn:
creatlach Cáca {
gníomh comhábhair() {
toradh ["ubh", "plúr", "siúcra", "im"]
}
}
creatlach CácaLíomóide {
gníomh comhábhair() {
toradh ["ubh", "plúr", "siúcra", "im", "líomóid"]
}
}
c := Cáca()
scríobh("Is iad", comhábhair@c(), "comhábhair cáca")
cl := CácaLíomóide()
scríobh("Is iad", comhábhair@cl(), "comhábhair cáca líomóide")
Oibríonn an cód sin ach bhí orainn an liosta iomlán a scríobh
Féach ar an gcód seo:
creatlach Cáca {
gníomh comhábhair() {
toradh ["ubh", "plúr", "siúcra", "im"]
}
}
creatlach CácaLíomóide ó Cáca {
gníomh comhábhair_líomóid() {
eile := comhábhair@seo()
toradh eile + ["líomóid"]
}
}
c := Cáca()
scríobh("Is iad", comhábhair@c(), "comhábhair cáca")
cl := CácaLíomóide()
scríobh("Is iad", comhábhair_líomóid@cl(), "comhábhair cáca líomóide")
D’athraíomar ainm an gnímh agus bhaineamar úsáid as oidhreacht chun comhábhair an cáca simplí a fháil. Oibríonn an cód sin freisin, bain triail as:
Fós áfach níl mé sásta leis an cód sin mar bhí orainn ainm an gnímh a athrú, an féidir linn é a dhéanamh gan ainm an gnímh a athrú?
Is féidir linn tuis
a úsáid chun é sin a dhéanamh. Úsáideann tú tuis
díreach mar a úsáideann tú seo
ach tá gníomhartha an tuismitheoir-creatlaigh aige; níl gníomhartha an páiste-creatlach aige. Dá bhrí sin is féidir linn an t-ainm céanna a úsáid mar táimid in ann tuis
a úsáid chun an gníomh sa chreatlach Cáca
a roghnú.
Seo é ár gcód nua:
creatlach Cáca {
gníomh comhábhair() {
toradh ["ubh", "plúr", "siúcra", "im"]
}
}
creatlach CácaLíomóide ó Cáca {
gníomh comhábhair() {
eile := comhábhair@tuis()
toradh eile + ["líomóid"]
}
}
c := Cáca()
scríobh("Is iad", comhábhair@c(), "comhábhair cáca")
cl := CácaLíomóide()
scríobh("Is iad", comhábhair@cl(), "comhábhair cáca líomóide")
Bain triail as!