■构造顺序:子类对象在创建时,构造函数的调用顺序是:首先调用父类构造函数,再调用自己的构造函数。默认情况下,子类构造函数中调用的是父类不带参数的构造函数。
■base关键字与this关键字相似,它表示当前类的直接父类对象,需要明确使用父类成员时就要使用base关键字。
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Inherit
{
/// <summary>
/// parent class
/// </summary>
class BaseClass {
public BaseClass(int pubVal) {
System.Console.WriteLine("BaseClass(int) created");
}
public BaseClass() {
System.Console.WriteLine("BaseClass() created");
}
}
/// <summary>
/// child class inherited from BaseClass
/// </summary>
class DevClass : BaseClass {
public DevClass() {
System.Console.WriteLine("DevClass() created");
}
public DevClass(int pubVal):base(pubVal)
{
System.Console.WriteLine("DevClass(int) created");
}
}
/// <summary>
///class for testing result
/// </summary>
class Program
{
static void Main(string[] args)
{
DevClass devClass1 = new DevClass();
DevClass devClass2 = new DevClass(12);
System.Console.ReadLine();
}
}
}
运行结果:
BaseClass() created
DevClass() created
BaseClass(int) created
DevClass(int) created
分享到:
相关推荐
在C++中,我们使用冒号(:)来表示继承。在C语言中,可以使用包含结构体的方式来模拟继承,即将一个结构体作为另一个结构体的成员。例如: ```c typedef struct { int id; } Base; typedef struct { Base base; ...
冒号和双冒号是C++中极其重要的符号,它们在位域定义、构造函数初始化列表、访问控制限定符、类的继承声明等方面都有着广泛的应用。正确理解和掌握这些符号的使用方法,对于编写高效、可维护的C++代码至关重要。
在Python中,我们可以使用冒号 `:` 来表示继承关系。`Boss` 和 `CommissionWorker` 类都继承自 `Employee` 类,这意味着它们都拥有 `Employee` 类的属性和方法。例如,它们都有 `__init__` 构造函数、`__str__` 方法...
继承则使用冒号(:)和关键字`public`、`protected`或`private`来指定访问级别: ```cpp class Vehicle { protected: int speed; public: void setSpeed(int s) { speed = s; } }; class Car : public Vehicle {...
在C++中,继承的声明方式是使用冒号(:)和访问修饰符,例如: ```cpp class DerivedClass : access_specifier BaseClass { // 子类的定义 }; ``` 这里,`DerivedClass`是子类,`BaseClass`是父类,`access_...
在C#中,我们可以使用冒号(:)来表示继承,如`class DerivedClass : BaseClass`。这种设计模式让我们可以复用代码,减少重复,并创建具有特定行为的类。在描述的场景中,我们可以定义一个抽象的`Computer`类作为...
其中,OOP作为最广泛使用的编程范式之一,其核心概念包括类、对象、继承、封装、多态等。 1. 类与对象:在OOP中,类是对象的模板或蓝图,它定义了一组属性(数据成员)和行为(方法)。对象是类的实例,具有特定的...
在C++中,继承使用冒号(:`:`)和访问修饰符(如`public`,`private`,`protected`)来声明。 2. **继承的种类**: - `public`继承:父类的公有成员在子类中仍然是公有的,保护成员变为子类的保护成员,私有成员对...
在C#中,子类通过使用冒号":"来声明其父类。例如,如果我们有一个名为`Animal`的父类,我们可以创建一个名为`Dog`的子类,如下所示: ```csharp public class Animal { public void Eat() { Console.WriteLine(...
C#中的继承使用冒号":"来表示。例如,如果`BaseClass`是基类,`DerivedClass`是派生类,那么定义如下: ```csharp public class DerivedClass : BaseClass ``` 这意味着`DerivedClass`继承了`BaseClass`的所有...
面向对象编程(OOP)是一种广泛使用的编程范式,它通过抽象、封装、继承和多态等机制来构建软件系统。 ### 面向对象编程(OOP)的核心原则 OOP的核心原则主要包括以下几点: 1. **封装**:封装是将数据和操作数据...
在C#中,我们使用冒号(`:`)来表示继承,如下所示: ```csharp public class DerivedClass : BaseClass { public void ExtraFunctionality() { Console.WriteLine("添加额外的功能"); } } ``` 在这个例子中,`...
继承是OOP中的另一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,减少了代码重复,实现代码复用。子类可以扩展或重写父类的行为,以满足特定需求。 多态是指不同对象对同一消息(方法调用)...
在C#中,使用冒号":"来表示继承,例如`class DerivedClass : BaseClass`。子类不仅可以继承父类的非私有成员,还可以添加新的成员或重写父类的方法。 接口是定义行为的规范,它包含一组抽象方法和属性,不包含实现...
在C++中,一个类可以继承一个或多个基类的特性,通过使用冒号(:)和关键字`class`来声明。例如,假设我们有基类`Base1`和`Base2`,以及一个派生类`Derived`,代码可能如下所示: ```cpp class Base1 { public: ...
- C#不支持类的多重继承,但可以通过实现多个接口来模拟这种行为,接口用`interface`关键字声明。 - 类可以实现一个或多个接口,并提供接口中所有方法的实现。 9. **访问基类成员**: - 使用`base`关键字可以...
在C#中,我们使用冒号(:)来表示继承,如`class DerivedClass : BaseClass`。这样,DerivedClass就继承了BaseClass的所有非私有成员,包括字段、属性、方法和事件。 1. **访问修饰符与继承**:在继承过程中,访问...
- **继承**:一个类可以从另一个类派生,继承其属性和方法,实现代码重用和类层次结构。 - **多态**:多态允许子类对象在父类引用下调用自己的方法,提供了一种动态绑定的能力,增强了程序的灵活性。 - **抽象**:...
- 继承声明:在派生类定义中,冒号用于指定继承方式,如`class DerivedClass : access_specifier BaseClass {...}`,access_specifier可以是`public`、`private`或`protected`。 2. 双冒号(::) - 域操作符:双...
只需在定义子类时,在类名后面加上冒号 `:`,紧接着指定要继承的父类即可。例如: ```csharp class A { public void ShowA() { Console.WriteLine("我是父类A"); } } class B : A { public void ShowB() { ...