c#专题——继承

1、子类转换为父类是隐式转换,父类转换成子类是显示转换

 class People
    {
        public void ShowMethod()
        {

        }
    }
 class Chinese: People
    {
        public void Workhard()
        {

        }
    }

1)子类转换成父类
Chinese chinese = new Chinese();
People people = chinese;
2)父类转换成子类
Chinese chinese = new Chinese();
People people = chinese;
Chinese chineseNew = (Chinese)people;
这里要注意:父类并不能直接转换为子类,必须是子类先转换成了父类,然后这个父类对象再去转换成子类才可以。

2、父类中的构造器、析构器、访问符为private的私有成员,以上几个子类均不能访问;

3、protected修饰符
protected修饰的成员只允许本身以及子类访问

4、扩展方法
父类的扩展方法,子类也能访问,但是要注意一下几点:
1)扩展方法是静态方法并且在静态类中;
2)子类可以访问父类的扩展方法,但是从技术上说不是继承起的作用;
3)很少给基类写扩展方法,一般都是直接改基类代码,或者即使基类代码不改的话,也要在基类或子类实现地接口上添加扩展方法;

5、单继承特性以及通过聚合实现多继承

 class People//父类
    {
        protected void ShowMethod()
        {

        }
    }
  class Chinese : People//子类
    {
        public Chinese()//构造函数实例化聚合类
        {
            animal = new Animal();
        }
        private Animal animal ;//声明一个私有的聚合对象,维持对聚合类的引用


        public void Eat()//将聚合类中方法重写定义并声明为Public,方便其他类调用
        {
            animal.Eat();
        }

        public void Workhard()
        {

        }
    }
   
  class Animal//聚合类
    {
        public void Eat()
        {
            Console.WriteLine("吃东西");
        }
    }

6、密封类
如果不希望一个类能够被其他类派生,则使用sealed关键字将类声明为不可派生。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在 C# WinForm 中实现修改密码功能,可以按照以下步骤进行: 1. 在 WinForm 中添加两个文本框和一个按钮,一个文本框是用于输入旧密码,另一个文本框是用于输入新密码,按钮是用于提交修改密码的操作。 2. 在按钮的 Click 事件中,编写代码实现密码修改的逻辑。首先,可以将用户输入的旧密码和新密码保存到字符串变量中,然后可以使用一些条件语句对密码进行验证,例如,旧密码是否正确,新密码是否符合要求等等。如果密码验证通过,可以调用相应的方法将新密码保存到数据库中。 下面是一个简单的密码修改示例代码: ```csharp private void btnChangePassword_Click(object sender, EventArgs e) { string oldPassword = txtOldPassword.Text.Trim(); string newPassword = txtNewPassword.Text.Trim(); // 验证旧密码是否正确 if (!ValidateOldPassword(oldPassword)) { MessageBox.Show("旧密码不正确!", "提示"); return; } // 验证新密码是否符合要求 if (!ValidateNewPassword(newPassword)) { MessageBox.Show("新密码不符合要求!", "提示"); return; } // 将新密码保存到数据库中 if (!SaveNewPassword(newPassword)) { MessageBox.Show("密码修改失败!", "提示"); return; } MessageBox.Show("密码修改成功!", "提示"); } private bool ValidateOldPassword(string password) { // TODO: 根据需要实现旧密码验证逻辑 return true; } private bool ValidateNewPassword(string password) { // TODO: 根据需要实现新密码验证逻辑 return true; } private bool SaveNewPassword(string password) { // TODO: 根据需要实现保存新密码到数据库的逻辑 return true; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c#上位机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值