流浪のwolf

卷帝

导航

C#的类和对象,继承

/// 类与对象
/// 类和对象是面向编程的两个核心概念
/// 类:类是对一群具有相同特征的或者行为事物的统称 类 是图纸 
/// 对象是由类创造出来的一个具体存在 可以直接使用  对象是图纸造出来的汽车
/// 现有类再有对象  类是抽象的 对象是具体的
/// 
/// 类的设计 数据建模 
/// 快速赋值 crtl + d
/// 类的声明  定义属性 快捷键 prop 
/// 如果是 无参构造函数 new Person () 可以简写 new Persion  如果要想省略 Person 
/// new () {}
/// 那么 () 就不能不写了
/// ps: 属性是字段和方法的集合  属性不能没有 get 方法  可以没有set 方法
Person per = new Person{
    Id  = 1,
    Name = "Test",
};
// per.Id = 123;
//per.Name = "zhulx";
per.Say();
per.Eat();

/// 访问修饰符
/// public 公有 的 所有的类都可以访问其内部所有内容(属性,方法)
/// private 与 public 背道而驰 只有当前内部可以访问的属性 当前类访问
/// protected 当前类以及继承他的子类可以访问
/// internal 内部的 只限于本项目访问 其他的不能访问
/// protedted interval 内部保护访问
/// 在静态方法中使用的属性必须是静态属性 static 修饰
/// 静态属性或者方法 直接通过类名调用 不通过 对象调用
/// ps:静态属性 会不断的被覆盖(不会动态创建属性)
/// 静态属性可以通过类型直接获取,非静态必须通过实例化的对象获取
/// 
/// 继承 - 不要乱重写父类中的属性值 
/// 父类不能使用子类中的属性和方法
/// 


object obj = "123";
string str = (string)obj;  // 强转string类型

 C#中只有单继承,C++有多继承

 

子类是对父类的扩展,父类不能使用子类中的属性和方法 ;构造函数和析构函数不能被继承;

 

C#类继承关系中构造方法之间的关系

①在实例化子类对象,会先调用父类的构造方法,然后再调用子类的构造方法;

②默认情况下,再子类的构造器中都会自动调用父类的无参构造器;

如果需要调用父类中带参数的构造器才使用 ”:base(参数)” 的形式 ,

base指代当前对象中父类的部分内容如果在同名的方法中使用 base 关键字调用父类中的方法, 则 当于把父类中的方法内容复制到该方法中。

posted on 2024-03-02 14:08  流浪のwolf  阅读(3)  评论(0编辑  收藏  举报