以前有过接触面向对象 只知道 面向对象的三大特性是
- 封装
- 继承
- 多态
然后看了很多 估计是我太笨了 没有看懂 今天多看了一会 也写了代码 大家可以看下我总结的
我理解的继承 简单来说
就是总结出来所有的类的特性,比如有两个类 一个是司机类 一个是清洁工类 这两个类都会有相同的特性 比如都有 姓名 年龄 性别
这样就可以提出来作为父类 这个类叫做人类 都有着相同的特性和方法。下面有更详细的代码 大家可以看下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _3._7面向对象
{
class Program
{
static void Main(string[] args)
{
//driver d = new driver("诸葛亮",20,true,13);
}
//父类 人类
public class people
{
//姓名
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
//年龄
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
//性别
private bool gender;
public bool Gender
{
get { return gender; }
set { gender = value; }
}
//构造函数
public people(string name, int age, bool gender)
{
this.Name = name;
this.Age = age;
this.Gender = gender;
}
//方法 吃喝拉撒
public void Chls()
{
Console.WriteLine("人会吃喝拉撒睡");
}
}
//子类 司机类
public class driver:people//继承父类 people
{
//车牌
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
//
public driver(string name, int age, bool gender,int id)
: base(name, age, gender)
{
this.Id = id;
}
public void GoCar()
{
//Console.WriteLine("司机开车");
Console.WriteLine("");
}
}
//子类 清洁工
public class clear :people//继承了父类
{
//方法 清理房间
public void ClearRoom()
{
Console.WriteLine("清洁工清理房间。");
}
}
}
}
下面开始问题
- 什么时候要用继承呢
答:我们在一些类中,可能会写到重复的成员,我们把这些重复的成员单独封装到一个类中,
这个东西就叫做父类,对应的还有子类。 还有的叫做派生类,对应的就是基类、(这玩意就是封装。。。)
2.
子类继承了父类,那么子类从父类哪里继承了什么呢?
答:子类继承了父类,就继承了父类的方法和属性,但是没有继承父类的私有字段 就是带private的
3.
子类有没有继承父类的构造函数?(啥叫做构造函数---代码哪里有 其实我也是刚懂)
答:并没有继承父类的构造函数。
子类的构造函数会去调用父类的无参函数,但是子类会默认的调用父类无参函数的构造函数,创建父类对象,让子类可以使用父类中的成员。
4. 继承的特性? 据说这个面试的时候问的多一点
答:1)单根性:就是子类只能有一个父类。(简单来说 就是你只能有一个爹,干爹不算!只能是生你的爹)
2)传递性:可以使用父类的属性和方法。(简单来说 就是你爹的迟早是你的 你爷爷的迟早都是你爹的 不管啥 都是你的)
补充:
object是一切类的父类。
Copyright © 1999-2017.Dodlge