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 aoisseoladh
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 airdeairde@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!
tuisTá 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!