C#学习之面象对象继承练习

1.命名空间

using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.IO;
using _01复习;
namespace _01
{
    class Program
    {
        static void Main(string[] args)
        {
            Person zsPerson = new Person();
            zsPerson.Name = "张三";
            Console.WriteLine(zsPerson.Name);
            Console.ReadKey();

            //A--->ProjectA---顾客类
            //B--->ProjcetB---顾客类
            //C-->ProjectC---顾客类
        }
    }
}

2.字符串

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02
{
    class Program
    {
        static void Main(string[] args)
        {
            //字符串的不可变性
            //string name = "张三";
            //name = "孙全";
            //Console.WriteLine(name);
            //Console.ReadKey();

            //string s1 = "张三";
            //string s2 = "张三";
            //Console.ReadKey();

            //可以讲string类型 看做是char类型的一个只读数组
            string s = "abcdefg";
            s = "bbcdefg";
            // s[0] = 'b';不能这样做  因为是只读的
            //首先将字符串转换为char类型的数组
            char[] chs = s.ToCharArray();
            chs[0] = 'b';
            //将字符数组转换为我们的字符串
            s = new string(chs);
            //既然可以将string看做char类型的只读数组,所以我可以通过下标去访问字符串中的某一个元素
            Console.WriteLine(s[0]);
            Console.WriteLine(s);
            Console.ReadKey();
        }
    }
}

3.StringBuffer

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _03
{
    class Program
    {
        static void Main(string[] args)
        {
            StringBuilder sb = new StringBuilder();
            string str = null;
            //创建了一个计时器,用来记录程序运行的时间
            //00:00:00.0422166
            Stopwatch sw = new Stopwatch();
            sw.Start();//开始计时
            for (int i = 0; i < 100000; i++)
            {
                //str += i;
                sb.Append(i);
            }
            sw.Stop();//结束计时
            Console.WriteLine(sb.ToString());
            Console.WriteLine(sw.Elapsed);
            Console.ReadKey();




        }
    }
}

4.字符串的相关方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _04
{
    class Program
    {
        static void Main(string[] args)
        {
            //练习一:随机输入你心中想到的一个名字,然后输出它的字符串长度  Length:可以得字符串的长度
            //Console.WriteLine("请输入你心中想的那个人的名字");
            //string name = Console.ReadLine();
            //Console.WriteLine("你心中想的人的名字的长度是{0}",name.Length);
            //Console.ReadKey();


            //Console.WriteLine("请输入你喜欢的课程");
            //string lessonOne = Console.ReadLine();
            将字符串转换成大写
              lessonOne = lessonOne.ToUpper();
            将字符串转换成小写形式
             lessonOne = lessonOne.ToLower();
            //Console.WriteLine("请输入你喜欢的课程");
            //string lessonTwo = Console.ReadLine();
               lessonTwo = lessonTwo.ToUpper();
               lessonTwo = lessonTwo.ToLower();
            //if (lessonOne.Equals(lessonTwo,StringComparison.OrdinalIgnoreCase))
            //{
            //    Console.WriteLine("你们俩喜欢的课程相同");
            //}
            //else
            //{
            //    Console.WriteLine("你们俩喜欢的课程不同");
            //}
            //Console.ReadKey();


            //string s = "a b   dfd _   +    =  ,,, fdf ";
            分割字符串Split
            //char[] chs = { ' ', '_', '+', '=', ',' };
            //string[] str = s.Split(chs,StringSplitOptions.RemoveEmptyEntries);
            //Console.ReadKey();


            //练习:从日期字符串("2008-08-08")中分析出年、月、日;2008年08月08日。
            //让用户输入一个日期格式如:2008-01-02,你输出你输入的日期为2008年1月2日

            //string s = "2008-08-08";
              char[] chs = { '-' };
            //string[] date = s.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            //Console.WriteLine("{0}年{1}月{2}日", date[0], date[1], date[2]);
            //Console.ReadKey();
            //老赵

            //string str = "关键人物张三";
            //if (str.Contains("张三"))
            //{
            //    str = str.Replace("张三", "**");
            //}
            //Console.WriteLine(str);
            //Console.ReadKey();


            //Substring 截取字符串

            //string str = "今天天气好晴朗,处处好风光";
            //str = str.Substring(1,2);
            //Console.WriteLine(str);
            //Console.ReadKey();

            //string str = "今天天气好晴朗,处处好风光";
            //if (str.EndsWith("风"))
            //{
            //    Console.WriteLine("是的");
            //}
            //else
            //{
            //    Console.WriteLine("不是的");
            //}
            //Console.ReadKey();


            //string str = "今天天天气好晴朗,天天处天好风光";
            //int index = str.IndexOf('哈',2);
            //Console.WriteLine(index);
            //Console.ReadKey();


            //string str = "今天天气好晴朗,处处好风光";
            //int index = str.LastIndexOf('天');
            //Console.WriteLine(index);
            //Console.ReadKey();


            LastIndexOf  Substring
            //string path = @"c:\a\b\c\f\g\\fd\fd\fdf\d\vfd\C#学习.txt";
            //int index = path.LastIndexOf("\\");
            //path = path.Substring(index+1);
            //Console.WriteLine(path);
            //Console.ReadKey();



            // string str = "            hahahah          ";
             str = str.Trim();
            // //str = str.TrimStart();
            // str = str.TrimEnd();
            // Console.Write(str);
            // Console.ReadKey();

            //string str = "fdsfdsfds";
            //if (string.IsNullOrEmpty(str))
            //{
            //    Console.WriteLine("是的");
            //}
            //else
            //{
            //    Console.WriteLine("不是");
            //}
            //string[] names = { "张三", "李四", "王五", "赵六", "田七" };
            张三|李四|王五|赵六|田七
            //string strNew = string.Join("|", "张三","李四","王五","赵六","田七");
            //Console.WriteLine(strNew);
            //Console.ReadKey();




        }
    }
}

5.继承示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _05
{
    class Program
    {
        static void Main(string[] args)
        {
            //Student s = new Student();

            //Driver d = new Driver();
            Student s = new Student("学生", 18, '男', 101);
        }
    }

    public class Person
    {
        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 char _gender;

        public char Gender
        {
            get { return _gender; }
            set { _gender = value; }
        }

        public void Say()
        {
            Console.WriteLine("说话");
        }



        public Person(string name, int age, char gender)
        {
            this.Name = name;
            this.Age = age;
            this.Gender = gender;
        }

        //public Person()
        //{

        //}


    }
    public class Student : Person
    {

        public Student(string name, int age, char gender, int id)
            : base(name, age, gender)
        {
            //this.Name = name;
            //this.Age = age;
            //this.Gender = gender;
            this.Id = id;
        }


        private int _id;

        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }



        public void Study()
        {
            Console.WriteLine("学生会学习");
        }
    }
    public class Teacher :Person
    {

        public Teacher(string name, int age, char gender, double salary)
            : base(name, age, gender)
        {
            this.Salary = salary;
        }

        private double _salary;
        public double Salary
        {
            get { return _salary; }
            set { _salary = value; }
        }
        public void Teach()
        {
            Console.WriteLine("老师会讲课");
        }
    }
    public class Driver:Person
    {

        public Driver(string name, int age, char gender, int driveTime)
            : base(name, age, gender)
        {
            this.DirveTime = driveTime;
        }


        private int _dirveTime;
        public int DirveTime
        {
            get { return _dirveTime; }
            set { _dirveTime = value; }
        }
        public void Drive()
        {
            Console.WriteLine("司机会开车");
        }
    }



}

6.练习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _006
{
    class Program
    {
        static void Main(string[] args)
        {
            Reporter rep = new Reporter("记者", 11, '男', "采访");
            rep.SayHello();
            rep.Test();
            Console.ReadKey();
        }
    }

    public class Person
    {
        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 char _gender;
        public char Gender
        {
            get { return _gender; }
            set { _gender = value; }
        }


        public Person(string name, int age, char gender)
        {
            this.Name = name;
            this.Age = age;
            this.Gender = gender;
        }

        public void Test()
        {
            Console.WriteLine("测试");
        }

        public void SayHello()
        {
            Console.WriteLine("大家好,我是****");
        }
    }


    public class Reporter : Person
    {
        public Reporter(string name, int age, char gender, string hobby)
            : base(name, age, gender)
        {
            this.Hobby = hobby;
        }


        private string _hobby;

        public string Hobby
        {
            get { return _hobby; }
            set { _hobby = value; }
        }

        public void ReporterSayHello()
        {
            Console.WriteLine("我叫{0},我是一名记者,我的爱好是{1},我是{2}生,我今年{3}岁了", this.Name, this.Hobby, this.Gender, this.Age);
        }


        public new void SayHello()
        {
            Console.WriteLine("大家好,我是记者");
        }
    }


    public class Programmer : Person
    {
        private int _workYear;

        public int WorkYear
        {
            get { return _workYear; }
            set { _workYear = value; }
        }

        public void ProgrammerSayHello()
        {
            Console.WriteLine("我叫{0},我是一名程序猿,我是{1}生,我今年{2}岁了,我的工作年限是{3}年", this.Name, this.Gender, this.Age, this.WorkYear);
        }


        public Programmer(string name, int age, char gender, int workYear)
            : base(name, age, gender)
        {
            this.WorkYear = workYear;
        }


        public new void SayHello()
        {
            Console.WriteLine("大家好,我是程序员");
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

挑战不可

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

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

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

打赏作者

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

抵扣说明:

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

余额充值