创建一个收费接口Charge,其中有一个方法charge();创建另一个收费接口Play,其中有一个方法play()。声明类Bus来实现接口Charge,对于Bus中的charge()实现为输出“公

该博客展示了如何在C#中实现多个接口以及方法的具体实现。Bus类实现了Charge接口,输出了公共汽车的收费信息;Taxi类同样实现了Charge接口,输出了出租车的计费规则。Cinema类同时实现了Charge和Play接口,提供了电影院的票价信息和播放状态显示。通过Main方法调用这些类的方法,展示了多态特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建一个收费接口Charge,其中有一个方法charge();创建另一个收费接口Play,其中有一个方法play()。

声明类Bus来实现接口Charge,对于Bus中的charge()实现为输出“公共汽车:1元/张,不计公里数”;

声明类Taxi来实现接口Charge,对于Taxi中的charge()实现为输出“出租车:1.6元/公里,起价5元3公里”;

声明类Cinema来同时实现Charge、Play,对于Cinema中的charge()实现为输出“电影院:30元/张,凭学生证享受半价”;对于Cinema中的play()实现输出为“正在放映电影”。

interface Charge
    {
        void charge();
    }
    interface Play
    {
        void play();
    }
    public class Bus : Charge
    {
        public void charge()
        {
            Console.WriteLine("公共汽车:1元/张,不计公里数");
        }
    }
    public class Taxi : Charge
    {
        public void charge()
        {
            Console.WriteLine("出租车:1.6元/公里,起价5元3公里");
        }
    }
    public class Ciname : Charge, Play
    {
        public void charge()
        {
            Console.WriteLine("电影院:30元/张,凭学生证享受半价");
        }
        public void play()
        {
            Console.WriteLine("正在放映电影");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Bus bus = new Bus();
            Taxi taxi = new Taxi();
            Ciname cinema = new Ciname();
            bus.charge();
            taxi.charge();
            cinema.charge();
            cinema.play();
            Console.ReadLine();
        }
    }

### 安卓日志分析 #### 1. 广告加载失败 - **时间**: 15:47:28.704 - **日志**: ```plaintext 11-01 15:47:28.704 10795 10795 I Ads : Ad failed to load : 3 ``` - **分析**: 广告加载失败,错误代码为3,可能的原因包括网络问题、广告服务器故障或广告请求参数不正确。 #### 2. 权限警告 - **时间**: 15:47:28.707 - **日志**: ```plaintext 11-01 15:47:28.707 10795 11056 W Inneractive_warning: It is recomended to add the READ_PHONE_STATE permission to the manifest for better targetting ``` - **分析**: 建议在应用的 `AndroidManifest.xml` 文件中添加 `READ_PHONE_STATE` 权限,以便更好地进行广告定位。 #### 3. 设置迁移警告 -01 15:47:28.711 10795 11391 W Settings: Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value. ``` - **分析**: `airplane_mode_on` 设置已从 `android.provider.Settings.System` 迁移到 `android.provider.Settings.Global`,返回只读值。建议更新代码以使用新的设置路径。 #### 4. 广告服务绑定 - **时间**: 15:47:34.100 - **日志**: ```plaintext 11-01 15:47:34.100 11369 11369 D BoundBrokerSvc: onBind: Intent { act=com.google.android.gms.ads.service.START pkg=com.google.android.gms } 11-01 15:47:34.100 11369 11369 D BoundBrokerSvc: Loading bound service for intent: Intent { act=com.google.android.gms.ads.service.START pkg=com.google.android.gms } ``` - **分析**: 应用正在尝试绑定到 Google Play 服务中的广告服务。 #### 5. 广告SDK版本过期 - **时间**: 15:47:34.119 - **日志**: ```plaintext 11-01 15:47:34.119 11369 15760 I Ads : Received log message: <Google:HTML> You are currently using version 243799999.241806000.1 of the SDK, which is out of date. Please consider updating your SDK to the most recent SDK version to get the latest features and bug fixes. The latest SDK can be installed from https://googlemobileadssdk.page.link/android-install-instructions. More information about the SDK deprecation schedule is available at https://developers.google.com/admob/android/deprecation. ``` - **分析**: 当前使用的广告SDK版本已过期,建议升级到最新版本以获取新功能和修复Bug。可以参考提供的链接进行安装和更新。 #### 6. 网络权限拒绝 -01 15:47:35.458 16119 16119 I auditd : type=1400 audit(0.0:1184547): avc: denied { bind } for comm="ip" scontext=u:r:untrusted_app_32:s0:c63,c257,c512,c768 tcontext=u:r:untrusted_app_32:s0:c63,c257,c512,c768 tclass=netlink_route_socket permissive=0 app=com.zhihu.android ``` - **分析**: 知乎应用尝试绑定网络套接字时被拒绝,可能是由于SELinux策略限制。建议检查应用的网络权限配置。 #### 7. 内存回收 - **时间**: 15:47:45.980 - **日志**: ```plaintext 11-01 15:47:45.980 10795 10801 I master.freegame: Background concurrent mark compact GC freed 59MB AllocSpace bytes, 264(13MB) LOS objects, 75% free, 24MB/96MB, paused 2.803ms,8.405ms total 220.912ms ``` - **分析**: 应用正在进行后台并发标记压缩垃圾回收,释放了大量内存。这可能是因为应用存在内存泄漏或其他内存管理问题。 #### 8. 电池状态 - **时间**: 15:47:50.197 - **日志**: ```plaintext 11-01 15:47:50.197 14055 14055 I QG-K : battery_soc_smooth_tracking_new: smooth_new:soc:94, last_soc:94, raw_soc:94, soc_changed:1, update_now:0, charge_status:1, batt_ma:1951 ``` - **分析**: 电池状态显示当前电量为94%,充电状态为1(表示正在充电),电流为1951mA。 #### 9. 音频处理 - **时间**: 多处出现 - **日志**: ```plaintext 11-01 15:47:35.430 10795 15618 I AudioManager: In isSpeakerphoneOn() calling application: com.blockpuzzle.comboblastmaster.freegame 11-01 15:47:45.407 10795 11921 D AudioTrackImpl: [audioTrackData][zero] 28s(f:2660 m:3 s:0 k:0 z:28000) : pid 10795 uid 10344 sessionId 8617 sr 48000 ch 2 fmt 1 ``` - **分析**: 音频管理器和音频轨道处理日志,显示应用正在处理音频数据。 ### 总结 - **主要问题**: - 广告加载失败 - 广告SDK版本过期 - 网络权限被拒绝 - 内存回收频繁 - **建议**: - 升级广告SDK版本 - 检查并添加必要的权限 - 优化内存管理 - 调整网络权限配置 这些措施可以帮助改善应用的性能和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值