ãªããžã§ã¯ãæåïŒ ã³ã³ã¹ãã©ã¯ã¿
ç®æ¬¡
- ã³ã³ã¹ãã©ã¯ã¿
- éåžž
- ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿
- åäžã¯ã©ã¹å ããã®ã³ã³ã¹ãã©ã¯ã¿åŒã³åºã
- åæåãããã¯
- åŒæ°ç¡ãã³ã³ã¹ãã©ã¯ã¿ãæç€ºçã«å®çŸ©ããªãã¯ã©ã¹ãç¶æ¿ããå Žåã®ã³ã³ã¹ãã©ã¯ã¿åŒã³åºã
- ç¶æ¿æã®ã³ã³ã¹ãã©ã¯ã¿
- ã³ããŒã³ã³ã¹ãã©ã¯ã¿
- ã³ã³ã¹ãã©ã¯ã¿ã®ã¹ã³ãŒã
- éçãžã§ããªãã¯ã¯ã©ã¹ã³ã³ã¹ãã©ã¯ã¿
- ãã¹ãã©ã¯ã¿
- ã€ãã·ã£ã©ã€ã¶
ã³ã³ã¹ãã©ã¯ã¿
éåžž
ã€ã³ã¹ã¿ã³ã¹äœææã«åŒã³åºãããã¡ãœãã
{
ãpublic int member { get; set; }
ã//ã³ã³ã¹ãã©ã¯ã¿(ã¯ã©ã¹åãšåã)
ãpublic clsTest(int init)
ã{
ããthis.member = init;
ã}
ãpublic void calc()
ã{ this.member += 10; }
}
public void main()
{
ãclsTest myClass = new clsTest(5);
ãmyClass.calc();
ãâ15
}
ã³ã³ã¹ãã©ã¯ã¿ã®ãªãŒããŒããŒã(å€éå®çŸ©)ãå¯èœ
(ãªããžã§ã¯ãæåïŒ ããããã£ã»ã¡ãœãã/ãªãŒããŒããŒãåç
§)
ã³ã³ã¹ãã©ã¯ã¿ã®ããã¯ã©ã¹ãç¶æ¿ããå Žå
ãç¶æ¿æã®ã³ã³ã¹ãã©ã¯ã¿ãåç
§
{
private:
ããïœ;
public:
ããMyClass();
};
MyClass::MyClass()
{
ããâ»ãããåŠçããã
ããïœ
};
int main(array<System::String ^> ^args)
{
ããMyClass *myClass = new MyClass();
ããmyClass->ïœ;
ããdelete myClass;
ãã
ããreturn 0;
}
ãPrivate _member As Integer
ã’ã³ã³ã¹ãã©ã¯ã¿
ãPublic Sub New(ByVal init As Integer)
ããme._member = init
ãEnd Sub
ãPublic Sub Calc()
ãã_member += 5
ãEnd Sub
End Class
Sub main()
ãDim myTest As New clsTest(5)
ãCall myTest.Calc()
ãâ10
End Sub
ã³ã³ã¹ãã©ã¯ã¿ã®ããã¯ã©ã¹ãç¶æ¿ããå Žå
ãç¶æ¿æã®ã³ã³ã¹ãã©ã¯ã¿ãåç
§
ããint member;
ãã
ãã//ã³ã³ã¹ãã©ã¯ã¿
ããMyClass(){
ããããthis.member = 0;
ãã}
ãã
ãã//ã³ã³ã¹ãã©ã¯ã¿ã®ãªãŒããŒããŒã
ããMyClass(int prm){
ããããthis.member = prm;
ãã}
}
public static void TEST( ïœ ){
ããMyClass myclass = new MyClass();
ããâmyclass.member : 0;
ãã
ããMyClass myclass = new MyClass(10);
ããâmyclass.member : 10;
}
ã//ã³ã³ã¹ãã©ã¯ã¿
ãthis.member1 = prm1;
ãthis.member2 = prm2;
ãthis.Add = function(){
ããreturn this.member1 + this.member2;
ã};
}
var number = new Calc1(1, 2);
var x = number.Add();
âx = 3
$p->Method();
->aaa
class MyClass{
ãprivate $_myVal;
ã
ãfunction __construct($prm)
ã{
ãã$this->SetMyVal($prm);
ã}
ã
ãfunction SetMyVal($prm)
ã{
ãã$this->_myVal = $prm;
ã}
ã
ãfunction Method(){ããã
ããprint($this->_myVal);
ã}
}
ããã©ã«ãã³ã³ã¹ãã©ã¯ã¿
ã³ã³ã¹ãã©ã¯ã¿ãå®çŸ©ããªãã£ãå Žåã«ã
ã³ã³ãã€ã©ã«ãã£ãŠèªåçã«äœæãããã³ã³ã¹ãã©ã¯ã¿
åŒæ°åã³åŠçå
容ç¡ãã
åäžã¯ã©ã¹å ããã®ã³ã³ã¹ãã©ã¯ã¿åŒã³åºã
å ±éã®åŠçãprivateã®ã¡ãœãããšããŠå®çŸ©ããŠããããããåŒã³åºãæ¹æ³ãããã
ãã// â
ããpublic MyClass(){
ããããïœ
ãã}
ãã// â¡
ããpublic MyClass(int prm){
ããããâ»åŒæ°ç¡ãã³ã³ã¹ãã©ã¯ã¿â ã®åŒã³åºã
ããããthis();
ãã}
}
public class Base {
ããpublic static void main(String[] args) {
ããããâ»åŒæ°æãã³ã³ã¹ãã©ã¯ã¿â¡ã®åŒã³åºã
ããããMyClass m = new MyClass(5);
ãã}
}
åŒã³åºãåŠçã®èšè¿°é
class MyClass{
ããpublic MyClass(){
ããããïœ
ãã}
ããpublic MyClass(int prm){
ããããSystem.out.println(“test”);
ããããthis(); //ã³ã³ãã€ã«ãšã©ãŒ
ããããâ»ã³ã³ã¹ãã©ã¯ã¿ã®åŒã³åºãã¯æåã«è¡ããªããã°ãªããªã
ãã}
ãã
ããpublic MyClass(int prm){
ããããthis(); // OK
ããããSystem.out.println(“test”);
ãã}
}
æç€ºçã«åŒã³åºãå¿ èŠãã
class classP
{
ããpublic function __construct(){
ããããïœ
ãã}
}
class classC extends classP
{
ããpublic function __construct(){
ããããparent::__construct();
ããããïœ
ãã}
}
åæåãããã¯
ããpublic MyClass()
ãã{
ããããSystem.out.println("A");
ãã}
ããâ»ã³ã³ã¹ãã©ã¯ã¿å®è¡åã«åŒã³åºããã
ãã{
ããããSystem.out.println("B");
ãã}
}
public class Base {
ããpublic static void main(String[] args) {
ããããMyClass m = new MyClass();
ãã}
}
â B A
åæåãããã¯ã®èšè¿°ãã¿ãŒã³
以äžãå
šãŠOKã èšè¿°äœçœ®ã«é¢ãããå
šãŠã³ã³ã¹ãã©ã¯ã¿ã®å®è¡åã«å®è¡ãããã
public class MyClass {
ãã{
ãããã// ã³ã³ã¹ãã©ã¯ã¿ã®å
ãã}
ããpublic MyClass(){}
}
public class MyClass {
ããpublic MyClass(){}
ãã{
ãããã// ã³ã³ã¹ãã©ã¯ã¿ã®åŸ
ãã}
}
public class MyClass {
ãã{
ãããã// ã³ã³ã¹ãã©ã¯ã¿ç¡ã
ãã}
}
åŒæ°ç¡ãã³ã³ã¹ãã©ã¯ã¿ãæç€ºçã«å®çŸ©ããªãã¯ã©ã¹ãç¶æ¿ããå Žåã®ã³ã³ã¹ãã©ã¯ã¿åŒã³åºã
abstract class Super{
ããâ»åŒæ°ç¡ãã³ã³ã¹ãã©ã¯ã¿ã¯å®çŸ©ãããŠããªã
ããSuper(int prm){}
}
class Sub extends Super{
ããâ»åŒæ°æãã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºãå¿
èŠãããã
ããSub(int prm){
ããããsuper(prm);
ããããããã¯ã¹ãŒããŒã¯ã©ã¹ã®ã³ã³ãã¹ãã©ã¯ã¿ãåŒã³åºããšããæå³ã
ãããããSuperãã¯ã©ã¹ã®ã¯ã©ã¹åã§ã¯ãªã
ãã}
ããâ»â ã¯NGã
ããSub(){
ããããsuper();
ãã}
ããâ»â ãåœç¶NGãã¹ãŒããŒã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºãå¿
èŠãããã
ããSub(){}
}
ç¶æ¿æã®ã³ã³ã¹ãã©ã¯ã¿
{
ããpublic string name { set; get; }
ããpublic int age { set; get; }
ããpublic Parent(string prmName, int prmAge)
ãã{
ããããthis.name = prmName;
ããããthis.age = prmAge;
ãã}
}
public class Child : Parent
{
ããpublic string parentname { set; get; }
ããpublic Child(string prmName, int prmAge) : base(prmName, prmAge)
ãã{
ããããthis.parentname = base.name;
ãã}
}
public void myForm_Load(object sender, EventArgs e)
{
ããChild child = new Child(prmName: "parent1", prmAge: 5);
ãã
ããâchild.name = "parent1"
ããâchild.age = 5
ããâchild.parentname = "parent1"
}
{
private:
ãint myInt1;
ãint myInt2;
public:
ãMyParent(int prm1, int prm2);
ãint GetMyInt1();
ãint GetMyInt2();
};
MyParent::MyParent(int prm1, int prm2)
{
ãthis->myInt1 = prm1;
ãthis->myInt2 = prm2;
ãreturn;
}
int MyParent::GetMyInt1()
{
ãreturn this->myInt1;
}
int MyParent::GetMyInt2()
{
ãreturn this->myInt2;
}
class MyChild : public MyParent
{
private:
ãint myInt1;
ãint myInt2;
public:
ãMyChild(int prm1, int prm2, int prm3, int prm4);
};
â»èŠªã¯ã©ã¹ã®ã³ã³ã¹ãã©ã¹ã¿ã«æž¡ãåŒæ°ãåã¯ã©ã¹ã®åŒæ°ã§åŒãåã
MyChild::MyChild(int prm1, int prm2, int prm3, int prm4) : MyParent(prm3, prm4)
{
ãthis->myInt1 = prm1;
ãthis->myInt2 = prm2;
ãreturn;
}
int _tmain(int argc, _TCHAR* argv[])
{
ãMyParent *myParent = new MyParent(1, 2);
ãcout << myParent->GetMyInt1() << '\n';
ãâ1
ãcout << myParent->GetMyInt2() << '\n';
ãâ2
ã
ãMyChild *myChild = new MyChild(1, 2, 3, 4);
ãcout << myChild->GetMyInt1() << '\n';
ãâ3
ãcout << myChild->GetMyInt2() << '\n';
ãâ4
ã
ãreturn 0;
}
ããPrivate _name As String
ããPrivate _age As Integer
ãã
ããPublic Sub New(ByVal prmName As String, ByVal prmAge As Integer)
ããããMe._name = prmName
ããããMe._age = prmAge
ããEnd Sub
ãã
ããPublic Property name As String
ããããç¥
ããEnd Property
ããPublic Property age As Integer
ããããç¥
ããEnd Property
End Class
Public Class Child
ããInherits Parent
ãã
ããPrivate parentname As String
ãã
ããPublic Sub New(ByVal prmName As String, ByVal prmAge As Integer)
ããããMyBase.New(prmName:=prmName, prmAge:=prmAge)
ãããã
ããããMe.parentname = MyBase.name
ãããã
ããEnd Sub
ãã
End Class
Public Class myForm
ããPrivate Sub myForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ãã
ããããDim child As New Child(prmName:="parent1", prmAge:=5)
ãããã
ããããâchild.name = "parent1"
ããããâchild.age = 5
ããããâchild.parentname = "parent1"
ãããã
ããEnd Sub
End Class
ããint member;
ãã
ãã//ã³ã³ã¹ãã©ã¯ã¿
ããParent(){
ããããthis.member = 0;
ãã}
ãã
ãã//ã³ã³ã¹ãã©ã¯ã¿ã®ãªãŒããŒããŒã
ããParent(int prm){
ããããthis.member = prm;
ãã}
}
class Child extends Parent {
ãã
ãã//ã³ã³ã¹ãã©ã¯ã¿
ããåºåºã¯ã©ã¹ã®åŒæ°ç¡ãã³ã³ã¹ãã©ã¯ã¿ãèªåçã«åŒã°ãã
ããChild(){}
ãã
ãã//ã³ã³ã¹ãã©ã¯ã¿ã®ãªãŒããŒããŒã
ããChild(int prm){
ãããã//æç€ºçã«å¥ã®ã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºãå Žå
ããããsuper(prm);
ãã}
}
æç€ºçã«åŒã³åºãå¿ èŠãã
ã³ããŒã³ã³ã¹ãã©ã¯ã¿
颿°ãžã€ã³ã¹ã¿ã³ã¹ãæž¡ãéã«å®è¡ãããã³ã³ã¹ãã©ã¯ã¿
éåžžã¯ãã³ã³ã¹ãã©ã¯ã¿ã¯å®è¡ãããªãã
{
protected:
ãint myInt;
public:
ãMyClass(int prm = 0){
ããthis->myInt = prm;
ã};
ã// ã³ããŒã³ã³ã¹ãã©ã¯ã¿
ãMyClass(const MyClass &m)
ã{
ããthis->myInt = m.myInt + 1;
ããm.myIntïŒ5
ããthis->myIntïŒ149405060
ããâ
ããthis->myIntïŒ6
ã};
ãint fnGet(){
ããreturn this->myInt;
ã};
};
int fnPlus(MyClass prmM);
int _tmain(int argc, _TCHAR* argv[])
{
ãMyClass m(5);
ãint ret;
ã
ãret = m.fnGet();
ãretïŒ5
ãret = fnPlus(m);
ãretïŒ6
ãreturn 0;
}
ãã®ã¿ã€ãã³ã°ã§ã³ããŒã³ã³ã¹ãã©ã¯ã¿ãå®è¡ãããã
int fnPlus(MyClass m)
{ã
ãreturn m.fnGet();
}
ã³ããŒã³ã³ã¹ãã©ã¯ã¿å®è¡ã®ã¿ã€ãã³ã°
MyClass m1(5);
int ret;
ãåæåæ(ã³ããŒ)ã
MyClass m2 = m1;
ã³ããŒã³ã³ã¹ãã©ã¯ã¿ãå®è¡ããã
ret = m2.fnGet();
retïŒ6
ret = fnPlus(m2);
retïŒ7
ã代å
¥æ(éã³ããŒ)ã
m2 = m1;
ã³ããŒã³ã³ã¹ãã©ã¯ã¿ãå®è¡ãããªã
ret = m2.fnGet();
retïŒ5
ret = fnPlus(m2);
retïŒ6
ã³ã³ã¹ãã©ã¯ã¿ã®ã¹ã³ãŒã
ã¢ã¯ã»ã¹ä¿®é£ŸåãšããŠpublicãprotectedãprivateãå©çšå¯èœ
ã¹ã³ãŒãã¯ã¢ã¯ã»ã¹ä¿®é£Ÿåã«åŸãã
class PubClass{
ããpublic PubClass(){}
}
class ProClass{
ããprotected ProClass(){}
}
class PriClass{
ããprivate PriClass(){}
}
public static void main(String[] args) {
ããPubClass pub = new PubClass();ãâOK
ããProClass pro = new ProClass();ãâOK
ããPriClass pri = new PriClass();ãâã³ã³ãã€ã«ãšã©ãŒ
}
éçãžã§ããªãã¯ã¯ã©ã¹ã³ã³ã¹ãã©ã¯ã¿
ãããã°ã©ã èšèª ãžã§ããªãã¯/éçãžã§ããªãã¯ã¯ã©ã¹ã³ã³ã¹ãã©ã¯ã¿ãåç §
ãã¹ãã©ã¯ã¿
ã€ã³ã¹ã¿ã³ã¹ç Žæ£æã«åŒã³åºãããã¡ãœãã
å€ãã®èšèªã§ã¯æç€ºçã«åŒã³åºãããšã¯ã§ããªãã
{ããããã
ãã//ã³ã³ã¹ãã©ã¯ã¿(ã¯ã©ã¹åãšåã)
ããpublic clsTest()
ãã{ Console.WriteLine(2); }
ããpublic void method()
ãã{ Console.WriteLine(3); }
ãã//ãã¹ãã©ã¯ã¿(ã~ãïŒã¯ã©ã¹å)
ãã~clsTest()
ãã{ Console.WriteLine(5); }
}
static void Main(string[] args)
{
ããConsole.WriteLine(1);
ããmyFunc();
ããConsole.WriteLine(4);
ãã
ãã1,2,3,4,5ãã1,2,3,5,4ã®é ã«åºåãããã
ãã4ãå
ã5ãå
ãïŒã¯ã¡ã¢ãªã®è§£æŸãåžãOSã®ç®¡çã
}
static private void myFunc()
{
ããclsTest test = new clsTest();
ããtest.method();
}
{
public:
ããMyClass();
ãã~MyClass();
};
MyClass::MyClass()
{
ããïœ
};
ãã¹ãã©ã¯ã¿
MyClass::~MyClass()
{
ããã€ã³ã¹ã¿ã³ã¹ã®deleteåŠçåŸã«åŠçããã
ããïœ;
}
int main(array<System::String ^> ^args)
{
ããMyClass *myClass = new MyClass();
ããmyClass->ïœ;
ããdelete myClass;
ãã
ããreturn 0;
}
ç¹ã«ãã¹ãã©ã¯ã¿ãå¿
èŠãªå Žé¢
class MyClass{
private:
ãã€ã³ã¹ã¿ã³ã¹å€æ°ããã€ã³ã¿ã§å®çŸ©
ãint *ary;
public:
ãMyClass(int prm[]);
ã~MyClass();
ãint Get(int elmCnt);
};
MyClass::MyClass(int elm[])
{
ããã€ã³ã¿ã«newã§äœæããé
åãæ ŒçŽ
ãnewã§ç¢ºä¿ãããã¡ã¢ãªé åã¯æç€ºçã«deleteããªããšæ¶ããªã
ãary = new int[] { elm[0], elm[1], elm[2] };
}
MyClass::~MyClass()
{
ãdelete ary;
}
int MyClass::Get(int elmCnt)
{
ãreturn this->ary[elmCnt];
}
int _tmain(int argc, _TCHAR* argv[])
{ã
ãint array[] = { 1, 2, 3 };
ãMyClass *m = new MyClass(array);
ãint ret = m->Get(2);
ãretïŒ3
ãdelete m
ã
ãreturn 0;
}
ãã//ãã¹ãã©ã¯ã¿
ããfinalize(){
ããããïœ
ãã}
}
{
ããpublic function __destruct(){
ããããïœ
ãã}
}
class classC extends classP
{
ããpublic function __destruct(){
ããããã¹ãŒããŒã¯ã©ã¹ã®ãã¹ãã©ã¯ã¿ãæç€ºçã«åŒã³åºã
ããããparent::__destruct();
ããããïœ
ãã}
}
ã³ããŒã³ã³ã¹ãã©ã¯ã¿çµäºæã®åŠç
{
public:
ãããã©ã«ãã³ã³ã¹ãã©ã¯ã¿
ãMyClass()
ã{
ããcout << "ããã©ã«ã" << '\n';
ã}
ãã³ããŒã³ã³ã¹ãã©ã¯ã¿
ãMyClass(const MyClass &prmClass)
ã{
ããcout << "ã³ããŒ" << '\n';
ã}
ããã¹ãã©ã¯ã¿
ã~MyClass()
ã{
ããcout << "ãã¹ãã©ã¯ã¿" << '\n';
ã}
};
void myFunc(MyClass m)
{
ãcout << "ãµãã«ãŒãã³" << '\n';
}
void myCall()
{
ãMyClass m;
ãmyFunc(m);
}
int _tmain(int argc, _TCHAR* argv[])
{
ãmyCall();
ãreturn 0;
}
çµæ
ããã©ã«ã
â
ã³ããŒ
ãµãã«ãŒãã³éå§æ(ã€ã³ã¹ã¿ã³ã¹ã³ããŒæ)ã«ã³ããŒã³ã³ã¹ãã©ã¯ã¿ãå®è¡ããã
â
ãµãã«ãŒãã³
â
ãã¹ãã©ã¯ã¿
ãµãã«ãŒãã³çµäºæ(ã³ããŒã€ã³ã¹ã¿ã³ã¹ç Žæ£æ)ã«ãã¹ãã©ã¯ã¿ãå®è¡ããã
â
ãã¹ãã©ã¯ã¿
ã€ã³ã¹ã¿ã³ã¹ç Žæ£æã«ããã¹ãã©ã¯ã¿ãå®è¡ããã
æç€ºçãªéæŸåŠç
ãã¹ãã©ã¯ã¿(ã®ä»£ããã®åŠç)ã®å®è¡
{
ãpublic MyClass()
ã{
ããConsole.Write(@"<p>");
ã}
ãpublic void Dispose()
ã{
ããConsole.Write(@"</p>");
ã}
ãDisposeã®å®è£ ã匷å¶ããã
}
static void Main(string[] args)
{
ãusing (var m = new MyClass())
ã{
ããConsole.Write(@”Hello”);
ã}
}
çµæïŒ<p>Hello</p>
ã€ãã·ã£ã©ã€ã¶
JAVAéå®ã
ã¯ã©ã¹ãã¡ã€ã«ãããŒããããã¿ã€ãã³ã°ã§å®è¡ãããã¡ãœããã
ã³ã³ã¹ãã©ã¯ã¿ãããæ©ãã
ãã//ã€ãã·ã£ã©ã€ã¶
ããstatic{
ããããïœ
ãã}
ãã//ã³ã³ã¹ãã©ã¯ã¿
ããFoo{
ããããïœ
ãã}
}