Главная » Просмотр файлов » лекции (2008) (by Kravets)

лекции (2008) (by Kravets) (1160829), страница 20

Файл №1160829 лекции (2008) (by Kravets) (лекции (2008) (by Kravets)) 20 страницалекции (2008) (by Kravets) (1160829) страница 202019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 20)

Import <èìÿ ïàêåòà> äåëàåò âñåèìåíà èç ïàêåòà âèäèìûìè. Áîëåå òîãî, ìîæíî è íå èìïîðòèðîâàòü ïàêåò,åñëè äëÿ äîñòóïà ê èìåíè ýòîãî ïàêåòà ÿâíî çàäàòü ïîëíîå èìÿ ïàêåòà.Áîëåå ìîùíîå ñðåäñòâî ÿçûêà Java - ïðîñòðàíñòâà èìåí.124Ëåêöèÿ 289.12.2008Ïðîñòðàíñòâà èìåí Ñ++ åñòü 2 ñòèëÿ - ñòàðûé ñòèëü (äëÿ ñîâìåñòèìîñòè ñî ñòàðûìèïðîãðàììàìè) è íîâûé ñòèëü (íà îñíîâå ïðîñòðàíñòâà èìåí).Òî åñòü âîçìîæíî èñïîëüçîâàòü êàê ñòàðûé ñòèëü ïðîãðàììèðîâàíèÿ<stdio.h>, òàê è íîâûé ñòèëü std::iostream.È Ñ++ è C# ïîääåðæèâàþò âëîæåííîñòü ïðîñòðàíñòâ èìåí.

Ïðèýòîì â C# ñëåäóþùèå îáúÿâëåíèÿ ýêâèâàëåíòíûnamespace N{....namespace Ninner{....}}namespace N{}namespace N.Ninner{} Ñ/Ñ++/C# åäèíèöåé êîìïèëÿöèè ÿâëÿåòñÿ ôàéë,íî åäèíèöåé êîíòåêñòà â C# ÿâëÿåòñÿ èìåííî ïðîñòðàíñòâî èìåí.  Ñ++ âñå îñëîæíÿåòñÿ òåì, ÷òî òðåáóåòñÿ âêëþ÷åíèå çàãîëîâî÷íûõ ôàéëîâ.Ïîñëå âêëþ÷åíèÿ çàãîëîâî÷íîãî ôàéëà ê îáúåêòàì èç ïðîñòðàíñòâàèìåí ìîæíî îáðàùàòüñÿ ÷åðåç êâàëèôèêàòîð (óòî÷íåíèå), òî åñòü std::cout¾ i;  Ñ# íå òðåáóåòñÿ ïîäêëþ÷åíèÿ çàãîëîâî÷íûõ ôàéëîâ, òî åñòü îáðàùåíèå ê îáúåêòàì íåêîòîðîãî ïðîñòðàíñòâà èìåí èäåò ïðîñòî ïî èìåíèïðîñòðàíñòâà èìåí.System.Windows.Forms.Îòñþäà âîçíèêàåò ïîíÿòèå åäèíèöû äèñòðèáóöèè (ñáîðêè). Ïîõîæàÿñèòóàöèÿ â Java (åäèíèöà êîìïèëÿöèè - ôàéë, åäèíèöà äèñòðèáóöèè èêîíòåêñòà - ïàêåò). Áîëåå òîãî, ïðîñòðàíñòâà èìåí ðåàëüíî âëîæåíû äðóãâ äðóãà, òîãäà êàê ïàêåòû íåò.

Òî åñòü èåðàðõè÷åñêèé ïîèñê èìåíè ïðîèçâîäèòñÿ òîëüêî â ñëó÷àå ïðîñòðàíñòâà èìåí.Åñëè ìû èìïîðòèðóåì ïàêåò â Java (import P1.* èëè import P1.x). Âjava ïîÿâèëñÿ ñòàòè÷åñêèé èìïîðò (static import Math.*) ÷òî ïîçâîëÿåòîáðàùàòüñÿ ê ÷ëåíàì äàííîãî ïàêåòà áåç ÿâíîãî óêàçàíèÿ åãî èìåíè. Òîåñòü125x = exp (i);Âñå ïðîñòðàíñòâà èìåí îòêðûòû ñíèçó, òî åñòü ê íèì ìîæíî äîáàâëÿòü êîíòåêñò.

 C# òàê æå ìîæíî ñäåëàòü èìåíà èç ïðîñòðàíñòâà èìåíâèäèìûìè áåç óòî÷íåíèÿ.using Sistem.Windows.FormsÏðè÷åì èìåíà èç òåêóùåãî ïðîñòðàíñòâà èìåí ïåðåêðûâàþò èìåíàèç èìïîðòèðóåìûõ ïðîñòðàíñòâ èìåí. Åñëè æå 2 èìïîðòèðóåìûõ èìåíèêîíôëèêòóþò, òî èìÿ ñòàíîâèòñÿ íåâèäèìûì.Òàêæå ïîÿâëÿåòñÿ êâàëèôèêàòîð äîñòóïà äëÿ êëàññà â ïðîñòðàíñòâåèìåí.namespace N1{class X;};namespace N2{class Y;};N1::X a;N2::Y b;f (a, b);Äàæå åñëè íåò äèðåêòèâû using (îíà íå ðåêîìåíäóåòñÿ), òî âîïðîñ âòîì, ãäå èñêàòü ôóíêöèþ f - N1 èëè N2.Åñëè f íå íàéäåíà â òåêóùåìïðîñòðàíñòâå èìåí, òî ïîèñê áóäåò ïðîäîëæåí è â ïðîñòðàíñòâàõ èìåíàðãóìåíòîâ, åñëè áóäåò íàéäåí íå îäèí âàðèàíò ôóíêöèè f, òî áóäåò âûäàíà îøèáêà.Òàêîå ïðàâèëî äëÿ èìåí ôóíêöèé òðåáóåòñÿ äëÿ òîãî, ÷òîáû ñòàëîâîçìîæíûì ïåðåêðûòèå èìåí èìåí ñòàíäàðòíûõ îïåðàöèé.Îáúåêòíî - îðèåíòèðîâàííûå ÿçûêèïðîãðàììèðîâàíèÿ.Âûäåëÿþò ÎÎßÏ è ïðîñòî îáúåêòíûå.

ÎÎßÏ äîëæíû ïîääåðæèâàòü3 ñâîéñòâà - èíêàïñóëÿöèþ, íàñëåäîâàíèÿ è äèíàìè÷åñêèé ïîëèìîðôèçì.Íàñëåäîâàíèå126Áàçîâûé êëàññ → ïðîèçâîäíûé êëàññ. Ïðîèçâîäíûé êëàññ íàñëåäóåò âñåäàííûå áàçîâîãî êëàññà. C#, Java, DelphiÑ++, Oberon, Aga 95Ñ òî÷êè çðåíèÿ íàñëåäîâàíèÿ, ó ÿçûêîâ ïåðâîé ãðóïïû âñÿ èåðàðõèÿíàñëåäîâàíèÿ íà÷èíàåòñÿ ñ êëàññà Object, òî åñòü âñå îáúåêòû òàê èëèèíà÷å èìåþò êëàññ Object â êà÷åñòâå áàçîâîãî. ÿçûêàõ âòîðîé ãðóïïû ëþáîé êëàññ ìîæåò ñòàòü êîðíåì äåðåâàíàñëåäîâàíèÿ.C++:class Derived: public Base{îáúåêòû íîâûõ ÷ëåíîâ.};Ïðè ýòîì Ñ++ åäèíñòâåííûé ßÏ, êîòîðûé ïîääåðæèâàåò ìîäèôèêàöèþïðàâ äîñòóïà. Ïðèâàòíîå íàñëåäîâàíèå íàèáîëåå ÷àñòî èñïîëüçóåòñÿ ïðèðåàëèçàöèè èíòåðôåéñîâ.C#:class Derived: Base{îáúåêòû íîâûõ ÷ëåíîâ.};Ìîäèôèêàòîð äîñòóïà çàïðåùåí.  C# çàïðåùåíî ìíîæåñòâåííîå íàñëåäîâàíèå, íî ìîæíî íàñëåäîâàòü ìíîæåñòâî èíòåðôåéñîâ.

Íàñòîÿùååìíîæåñòâåííîå íàñëåäîâàíèå ðåàëèçîâàíî òîëüêî â Ñ++ (èç òåõ ßÏ, êîòîðûå ðàññìàòðèâàþòñÿ â êóðñå)Java:class Derived extends Base implements i1, i2{îáúåêòû íîâûõ ÷ëåíîâ.};Ïðè ýòîì, åñëè íå óêàçàí áàçîâûé êëàññ, òî â C# è Java êëàññ ñòàíîâèòñÿ ïîòîìêîì êëàññà Object.Delphi:class Derived class (Base);Oberon:TYPE BASE = RECORD127END;TYPE DERIVED = RECORD (BASE)END;ßçûê Àäà.type base is tagged record....end;type Derived is new Base with record....end;type Derived is new Base with null record;Âòîðàÿ çàïèñü - åñëè íå òðåáóåòñÿ äîáàâëÿòü íîâûå ÷ëåíû äàííûõ.Âñå ÿçûêè ïîçâîëÿþò ëèíåéíî ðàñïðåäåëÿòü ïàìÿòü,èñêëþ÷åíèå - smalltalk.Òàì îáúåêò ïîäêëàññà ìîæåò áûòü îòäåëåí îò ÷àñòè ñóïåðêëàññà.

Òàêèìîáðàçîì, ïîÿâëÿåòñÿ âîçìîæíîñòü âàðüèðîâàòü íàáîð ìåòîäîâ âûïîëíåíèÿ âî âðåìÿ âûïîëíåíèÿ. Ýòî äàåò ÿçûêó îãðîìíóþ ãèáêîñòü, íî ñèëüíîçàìåäëÿåò ðàáîòó ïðîãðàììû, òàê êàê ïðè êàæäîì îáðàùåíèè ê ìåòîäóêëàññà òðåáóåòñÿ ïîèñê ïî âñåé öåïî÷êå íàñëåäîâàíèÿ.Òàêèì îáðàçîì, âñå ÿçûêè ïðîìûøëåííîãî ïðîãðàììèðîâàíèÿ ðåàëèçóþò ëèíåéíîå ðàñïðåäåëåíèå ïàìÿòè.Âñå ôóíêöèè êëàññà ñóùåñòâóþò â åäèíñòâåííîì ýêçåìïëÿðå. Ïðèíàñëåäîâàíèè êàæäûé êëàññ - ñâîÿ îáëàñòü äåéñòâèÿ, òî åñòüclass X{void f();};class Y:public X{int f;};Òî åñòü â êëàññàõ X è Y èìåíà ìîãóò ñîâïàäàòü. Ñ òî÷êè çðåíèÿ ÿîáëàñòè äåéñòâèÿ èìååò ìåñòî 2 ïðèíöèïà- ïåðåãðóçêà- ñêðûòèåÏî÷òè âî âñåõ ñëó÷àÿõ ðå÷ü èäåò èìåííî è ñêðûòèè. Òî åñòü ìû äîëæíû ðàçëè÷àòü èìåíà ôóíêöèé (äîïóñêàþò ïåðåãðóçêó) è èìåíà îñòàëüíûõ îáúåêòîâ.128Y y;y.f();Òàêîå îáðàùåíèå - îáðàùåíèå ê int f.

Òàê êàê void f() ñêðûòî. Òî åñòüòàêîå îáðàùåíèå ïðèâåäåò ê îøèáêå. Ðàññìîòðèì äðóãîé âàðèàíòclass X{void f();};class Y:public X{void f(int);}; äàííîì ñëó÷àå ðå÷ü èäåò òàê æå î ñêðûòèè, òî åñòü f() áóäåò ïåðåêðûòà f(int). Òî åñòü êëàññ y îáëàäàåò òîëüêî ôóíêöèåé y.f(int).Ïåðåãðóçêà âîçìîæíà òîëüêî â îäíîé îáëàñòè äåéñòâèÿ. Äëÿ èìåíôóíêöèé ïîÿâëÿåòñÿ è òðåòèé âàðèàíò - ïåðåîïðåäåëåíèå. Ýòî òîëüêîäëÿ ôóíêöèé, êîòîðûå îáëàäàþò äèíàìè÷åñêèì ñâÿçûâàíèåì.class X{virtual void f();};class Y:public X{void f();};Ôóíêöèþ èç êëàññà - ïðåäêà ìîæíî âûçâàòü ïóòåì ÿâíîãî óêàçàíèÿèìåíè êëàññà.

y.X::f().Áîëåå õèòðàÿ ñèòóàöèÿ â ÿçûêå Java.Ðàññìîòðèì òåïåðü ìîäóëüíûå ßÏ - Àäà - 95 è Îáåðîí.<= Oberon =>MODULE M;TYPE BASE* =RECORDI:INTEGER;J*:REAL;END;END M;129MODULE M1;IMPORT M;TYPE DERIVED *= RECORD (M.BASE)K: INTEGER;END;PROCUDURE P(VAR X:DERIVED);BEGINX.K := 0;X.J := 1;X.I := 1; Îøèáêà;END:Òî åñòü, åñòü ëèáî ïóáëè÷íûå ÷ëåíû äàííûõ (*), ëèáî ïàêåòíûå ÷ëåíûäàííûõ, êîòîðûå âèäíû òîëüêî â ïðåäåëàõ ïàêåòà.Ðàññìîòðèì ÿçûê Àäà.package M isType Base is tagged private;...priatetype Base is tagged record...end record;end M;package M1 isuse M;type Derived is new Basewith recordK:integer;end record;procudere B(VAR X:inout Derived) is ...Äàëåå,â Àäà ïîÿâëÿåòñÿ ïîíÿòèå äî÷åðíèõ ïàêåòîâ.package M.M1 istype Derived is new Base withrecordK:Integer;end record;procedure P(X: inout Derived);130Âñå èìåíà, êîòîðûå îïèñàíû â M äîñòóïíû â M1(äàæå ïðèâàòíûå).Ìíîæåñòâåííîå íàñëåäîâàíèåÏðîáëåìû1.

Êîíôëèêò èìåí2. Ðåàëèçàöèÿ3. Ïðèñâàèâàíèå îáúåêòîâ ðàçíûõ êëàññîâ.4.Base * pb = new Base;Derived * pd = new Derived;pb = pd;pb -> f();Çäåñü âñå íîðìàëüíî.class X:public Y, public Z{};X * px = new X;Y * py = new Y;Z * pz = new Z;px = pz; Errorpy = px;pz = px;pz -> f (); ñëó÷àå âèðòóàëüíûõ ìåòîäîâ âîïðîñ åùå ñèëüíåå óñëîæíÿåòñÿ, òàê êàêêîìïèëÿòîð íà ýòàïå êîìïèëÿöèè íå çíàåò êàêîé èìåííî ìåòîä âûçûâàòü.131Ëåêöèÿ 2911.12.2008Èòàê áûëî îòìå÷åíî òðè ïðîáëåìû ñâÿçàííûå ñ ìíîæåñòâåííûì íàñëåäîâàíèåì1. Êîíôëèêò èìåí.Ñ++ äîïóñêàåò ïîëíîå ìíîæåñòâåííîå íàñëåäîâàíèå.Ñ++ Îäèí èçíåìíîãèõ ÿçûêîâ, äîïóñêàþùèõ ïîëíîå ìíîæåñòâåííîå íàñëåäîâàíèå.

Ïðèýòîì îãðàíè÷åííîå ìíîæåñòâåííîå íàñëåäîâàíèå (èíòåðôåéñû) åñòü ïî÷òè âî âñåõ ñîâðåìåííûõ ßÏ. Ïðè íàñëåäîâàíèè èíòåðôåéñîâ êîíôëèêòîâàòü ìîãóò òîëüêî èìåíà ìåòîäîâ.2. Ñëîæíîñòè ðåàëèçàöèè.Òðåáîâàíèå êîððåêöèè óêàçàòåëåé â ñëó÷àå ëèíåéíîãî ðàçìåùåíèÿïàìÿòè (ïðèñóòñòâóåò ïî÷òè âî âñåõ ÿçûêàõ ïðîìûøëåííîãî ïðîãðàììèðîâàíèÿ).3.Èäåîëîãè÷åñêèå ñîîáðàæåíèÿ (íå ðàññìàòðèâàåì)Ïðèìåð èåðàðõèèX− > W < −YL− > X− > W < −Y < −LL− > W < −L Òàêîå íåäîïóñòèìîÏîèñê èìåí ïðîèñõîäèò ñíà÷àëà â ñâîåì ïðîñòðàíñòâå èìåí, à ïîòîìïàðàëëåëüíî â âûñøèõ ïîðÿäêàõ (ìåõàíèçì, ñõîæèé ñ ìåõàíèçìîì ïîèñêà â ïðîñòðàíñòâàõ èìåí).Äëÿ ïîëó÷åíèÿ äîñòóïà ê ÷ëåíàì äàííûõ êëàññîâ - ïðåäêîâ ìîæåòïîòðåáîâàòüñÿ ÿâíàÿ ñïåöèôèêàöèÿ. òàêèõ ÿçûêàõ, êàê C#, Java, Delphi, â êîòîðûõ âñå îáúåêòû íàñëåäóþò êëàññ Object, èìåþòñÿ îáîáùåííûå (àáñòðàêòíûå) êîíòåéíåðû, âêîòîðûõ ìîãóò õðàíèòüñÿ îáúåêòû ëþáîãî òèïà.Åñëè òðåáóåòñÿ õðàíèòü îäèí è òîò æå îáúåêò â êà÷åñòâå äâóõ ñóùíîñòíîé, òî ýòî ìîæíî ðåàëèçîâàòü ñ ïîìîùüþ ìíîæåñòâåííîãî íàñëåäîâàíèÿ.

Òàêèå èåðàðõè÷åñêèå ñòðóêòóðû èçó÷àåòñÿ â îñîáîì ðàçäåëåìàòåìàòèêè - òåîðèè ðåøåòîê èëè òåîðèè êàòåãîðèé.Áðèëëèàíòîâîå (ðîìáîâèäíîå) íàñëåäîâàíèåX/\AW\/Y132Ïðèìåðîì òàêîãî íàñëåäîâàíèÿ ìîæåò ñëóæèòü ïðîåêòèðîâàíèå ìîäóëÿ <iostream>. Óïðîùåííàÿ èåðàðõèÿ âûãëÿäèò òàê.ios(int fd)/\/\istreamostream\/\/iostreamclass A{};class X:public virtual A{};class Y:public virtual B{};class W:public X, public Y{};Åñëè îïóñòèòü õîòÿ áû îäíî ñëîâî virtual, òî "ðîìáîâèäíîãî"íàñëåäîâàíèÿíå áóäåò. Íåäîñòàòêîì òàêîé ñõåìû ñëóæèò òî, ÷òî ðåøåíèå î òèïå íàñëåäîâàíèÿ äîëæíî ïðèíèìàòüñÿ íà ýòàïå åäèíè÷íîãî íàñëåäîâàíèÿ.Ýòî íå ÿâëÿåòñÿ íåäîñòàòêîì Ñ++, íî ñâîéñòâîì íàñëåäîâàíèÿ, òàêêàê âñÿ èåðàðõèè äîëæíà ðàçðàáàòûâàòüñÿ íà ýòàïå ïðîåêòèðîâàíèÿ. Ñ++ íåò íèêàêèõ îãðàíè÷åíèé ñ òî÷êè çðåíèÿ íàñëåäîâàíèÿ, òîåñòü íåò íèêàêèõ ÿçûêîâûõ ìåòîäîâ çàïðåòèòü íàñëåäîâàíèÿ äàííîãîêëàññà. Êîíå÷íî, ìîæíî ñäåëàòü êîíñòðóêòîð èëè äåñòðóêòîð çàêðûòûìè, íî ýòî óæå íå èçâîðîòû. Java ìîæíî çàïðåòèòü íàñëåäîâàíèå, ñ ïîìîùüþ êëþ÷åâîãî ñëîâànal.

Åñëè ýòî ñëîâî ñòîèò ïåðåä èìåíåì ìåòîäà, òî ýòîò ìåòîä íå ìîæåò ïåðåîïðåäåëÿòüñÿ â ïðîèçâîäíûõ êëàññîâ. Åñëè æå îíî ñòîèò ïåðåäîïðåäåëåíèåì êëàññà, òî êëàññ íåëüçÿ íàñëåäîâàòü.  Ñ# òàêóþ æå ðîëüèãðàåò ñëîâî sealed.Ïî÷òè âñå áèáëèîòåêà .NET ÿâëÿåòñÿ çàïå÷àòàííîé, òî åñòü èç íåëüçÿíàñëåäîâàòü, à òå êëàññû, èç êîòîðûõ ìîæíî íàñëåäîâàòü îáû÷íî ÿâëÿþòñÿ àáñòðàêòíûìè.Çàïå÷àòûâàíèå ìîæåò ïîâûñèòü ýôôåêòèâíîñòü ïðîãðàììû.133Äèíàìè÷åñêîå ñâÿçûâàíèå ìåòîäîâ.Áåç äèíàìè÷åñêîãî ñâÿçûâàíèÿ ìåòîäîâ ïîíÿòèå íàñëåäîâàíèÿ ïðàêòè÷åñêè òåðÿåò ñâîé ñìûñë. Íàñòîÿùåå íàñëåäîâàíèå ïðîÿâëÿåòñÿ òîëüêîïðè èñïîëüçîâàíèè äèíàìè÷åñêîé òèïèçàöèè.

 ÿçûêàõ èíäóñòðèàëüíîãîïðîãðàììèðîâàíèÿ (ñî ñòðîãîé òèïèçàöèåé) çàìåíà îáúåêòà ñóïåð-êëàññàíà îáúåêò ïðîèçâîäíîãî êëàññà íè÷åãî íå ìåíÿåò ñ òî÷êè çðåíèÿ íàäåæíîñòè.base=derivedvoid foo (base b);f(base)f(derived)Äðóãîå äåëî, êîãäà âìåñòî îáúåêòà ïåðåäàåòñÿ ññûëêà íà îáúåêò. Âÿçûêàõ ãäå åñòü íàñëåäîâàíèå, åñòü ïîíÿòèå ñòàòè÷åñêîãî òèïà, òî åñòüòèïà, ïðèñâîåííîãî îáúåêòó ïðè ñîçäàíèè.var X = new System.Window.Forms.FormÏðè ýòîì òèï îáúåêòà X ñòàòè÷åñêè îïðåäåëèì. Îáúåêòíûõ ßÏ äëÿ íåêîòîðûõ îáúåêòîâ ÒÏ ïîÿâëÿåòñÿ äèíàìè÷åñêèé òèï - òèï îáúåêòà äàííûõ, íà êîòîðûé ññûëàåòñÿ óêàçàòåëü èëèññûëêà.Base * pd;Ñòàòè÷åñêîé òèï - Base, à äèíàìè÷åñêèì òèïîì ìîæåò áûòü ëþáîé èçïîòîìêîâ Base, òàê êàê pb ìîæåò óêàçûâàòü íà ëþáîãî îáúåêòà-ïîòîìêàBase.Ñòàòè÷åñêèé òèï îáúåêòà äàííûõ èçìåíèòü íåëüçÿ.

Êàæäûé îáúåêòîáëàäàåò êóñêîì ïàìÿòè, äëÿ êîòîðîãî áûë âûçâàí êîíñòðóêòîð. C#, Java è Delphi, îáúåêò ðàçìåùàåòñÿ â äèíàìè÷åñêîé ïàìÿòè, èêàê òîëüêî îí áûë òàì ðàçìåùåí åãî òèï çàôèêñèðîâàí.Íå-ñòàòè÷åñêèé ìåòîä êëàññà - ìåòîä, âûçûâàåìûé ÷åðåç ññûëêó íàîáúåêò. Ìåòîä íàçûâàåòñÿ ñòàòè÷åñêè ïðèâÿçàííûì, åñëè åãî âûçîâ îïðåäåëÿåòñÿ èç ñòàòè÷åñêîãî òèïà ññûëêè, è äèíàìè÷åñêè åñëè åãî âûçîâîïðåäåëÿåòñÿ äèíàìè÷åñêèì òèïîì ññûëêè.Òî åñòü îïðåäåëÿåòñÿ äèíàìè÷åñêèé òèï ññûëêè, è äëÿ ýòîãî òèïàâûçûâàåòñÿ ìåòîä.134 Ñ++ ýòî ðåàëèçóåòñÿ íà îñíîâå âèðòóàëüíûõ ôóíêöèé.

Характеристики

Тип файла
PDF-файл
Размер
414,21 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6616
Авторов
на СтудИзбе
295
Средний доход
с одного платного файла
Обучение Подробнее